[INFO] fetching crate tag2upload-service-manager 0.2.0...
[INFO] testing tag2upload-service-manager-0.2.0 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate tag2upload-service-manager 0.2.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate tag2upload-service-manager 0.2.0
[INFO] finished tweaking crates.io crate tag2upload-service-manager 0.2.0
[INFO] tweaked toml for crates.io crate tag2upload-service-manager 0.2.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tag2upload-service-manager 0.2.0 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tag2upload-service-manager 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tracing-test v0.2.5
[INFO] [stderr]   Downloaded tracing-test-macro v0.2.5
[INFO] [stderr]   Downloaded tracing-logrotate v0.1.2
[INFO] [stderr]   Downloaded derive_more-impl v1.0.0
[INFO] [stderr]   Downloaded binascii v0.1.4
[INFO] [stderr]   Downloaded serde_spanned v0.6.9
[INFO] [stderr]   Downloaded testresult v0.4.1
[INFO] [stderr]   Downloaded humantime-serde v1.1.1
[INFO] [stderr]   Downloaded tagptr v0.2.0
[INFO] [stderr]   Downloaded hex_fmt v0.3.0
[INFO] [stderr]   Downloaded lazy-regex-proc_macros v3.5.1
[INFO] [stderr]   Downloaded cvt v0.1.2
[INFO] [stderr]   Downloaded uncased v0.9.10
[INFO] [stderr]   Downloaded resolv-conf v0.7.6
[INFO] [stderr]   Downloaded inventory v0.3.21
[INFO] [stderr]   Downloaded ipconfig v0.3.2
[INFO] [stderr]   Downloaded hashify v0.2.7
[INFO] [stderr]   Downloaded widestring v1.2.1
[INFO] [stderr]   Downloaded derive-deftly v1.6.0
[INFO] [stderr]   Downloaded derive-deftly-macros v1.6.0
[INFO] [stderr]   Downloaded portable-atomic v1.13.0
[INFO] [stderr]   Downloaded rocket_codegen v0.5.1
[INFO] [stderr]   Downloaded reqwest v0.13.1
[INFO] [stderr]   Downloaded rusqlite v0.38.0
[INFO] [stderr]   Downloaded h2 v0.3.27
[INFO] [stderr]   Downloaded tera v1.20.1
[INFO] [stderr]   Downloaded moka v0.12.12
[INFO] [stderr]   Downloaded derive_more-impl v2.1.1
[INFO] [stderr]   Downloaded rocket v0.5.1
[INFO] [stderr]   Downloaded openssl v0.10.75
[INFO] [stderr]   Downloaded nix v0.29.0
[INFO] [stderr]   Downloaded rocket_http v0.5.1
[INFO] [stderr]   Downloaded chrono-tz v0.9.0
[INFO] [stderr]   Downloaded bstr v1.12.1
[INFO] [stderr]   Downloaded derive_more v2.1.1
[INFO] [stderr]   Downloaded hickory-proto v0.25.2
[INFO] [stderr]   Downloaded hickory-resolver v0.25.2
[INFO] [stderr]   Downloaded openssl-sys v0.9.111
[INFO] [stderr]   Downloaded figment v0.10.19
[INFO] [stderr]   Downloaded parse-zoneinfo v0.3.1
[INFO] [stderr]   Downloaded mail-parser v0.11.1
[INFO] [stderr]   Downloaded ignore v0.4.25
[INFO] [stderr]   Downloaded educe v0.4.23
[INFO] [stderr]   Downloaded toml_edit v0.22.27
[INFO] [stderr]   Downloaded loom v0.5.6
[INFO] [stderr]   Downloaded mail-builder v0.4.4
[INFO] [stderr]   Downloaded unicode-properties v0.1.4
[INFO] [stderr]   Downloaded normpath v1.5.0
[INFO] [stderr]   Downloaded toml v0.8.23
[INFO] [stderr]   Downloaded cookie v0.18.1
[INFO] [stderr]   Downloaded globset v0.4.18
[INFO] [stderr]   Downloaded convert_case v0.10.0
[INFO] [stderr]   Downloaded easy-ext v1.0.2
[INFO] [stderr]   Downloaded mini-sqlite-dump v0.1.2
[INFO] [stderr]   Downloaded aligned v0.4.3
[INFO] [stderr]   Downloaded fs_at v0.2.1
[INFO] [stderr]   Downloaded remove_dir_all v1.0.0
[INFO] [stderr]   Downloaded devise_core v0.4.2
[INFO] [stderr]   Downloaded generator v0.7.5
[INFO] [stderr]   Downloaded state v0.6.0
[INFO] [stderr]   Downloaded foldhash v0.2.0
[INFO] [stderr]   Downloaded critical-section v1.2.0
[INFO] [stderr]   Downloaded linkme v0.3.35
[INFO] [stderr]   Downloaded pear v0.2.9
[INFO] [stderr]   Downloaded hashlink v0.11.0
[INFO] [stderr]   Downloaded enum-ordinalize v3.1.15
[INFO] [stderr]   Downloaded parse_link_header v0.4.0
[INFO] [stderr]   Downloaded as-slice v0.2.1
[INFO] [stderr]   Downloaded inlinable_string v0.1.15
[INFO] [stderr]   Downloaded stable-pattern v0.1.0
[INFO] [stderr]   Downloaded sd-notify v0.4.5
[INFO] [stderr]   Downloaded slug v0.1.6
[INFO] [stderr]   Downloaded lazy-regex v3.5.1
[INFO] [stderr]   Downloaded atomic v0.5.3
[INFO] [stderr]   Downloaded linkme-impl v0.3.35
[INFO] [stderr]   Downloaded maybe-owned v0.3.4
[INFO] [stderr]   Downloaded atomic v0.6.1
[INFO] [stderr]   Downloaded proc-macro2-diagnostics v0.10.1
[INFO] [stderr]   Downloaded ubyte v0.10.4
[INFO] [stderr]   Downloaded test-temp-dir v0.6.1
[INFO] [stderr]   Downloaded toml_datetime v0.6.11
[INFO] [stderr]   Downloaded toml_write v0.1.2
[INFO] [stderr]   Downloaded devise_codegen v0.4.2
[INFO] [stderr]   Downloaded devise v0.4.2
[INFO] [stderr]   Downloaded pear_codegen v0.2.9
[INFO] [stderr]   Downloaded is-terminal v0.4.17
[INFO] [stderr]   Downloaded chrono-tz-build v0.3.0
[INFO] [stderr]   Downloaded globwalk v0.9.1
[INFO] [stderr]   Downloaded humansize v2.1.3
[INFO] [stderr]   Downloaded derive_more v1.0.0
[INFO] [stderr]   Downloaded sqlite-wasm-rs v0.5.1
[INFO] [stderr]   Downloaded libsqlite3-sys v0.36.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 18da90674a06504efd0baa24d59edafafae8c5c495c05c265bc0a6d4daea5cad
[INFO] running `Command { std: "docker" "start" "-a" "18da90674a06504efd0baa24d59edafafae8c5c495c05c265bc0a6d4daea5cad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "18da90674a06504efd0baa24d59edafafae8c5c495c05c265bc0a6d4daea5cad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "18da90674a06504efd0baa24d59edafafae8c5c495c05c265bc0a6d4daea5cad", kill_on_drop: false }`
[INFO] [stdout] 18da90674a06504efd0baa24d59edafafae8c5c495c05c265bc0a6d4daea5cad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 704e165c871c121e25c9e4c88e2fd4ac164c7db595cac779b094cde63195d5fd
[INFO] running `Command { std: "docker" "start" "-a" "704e165c871c121e25c9e4c88e2fd4ac164c7db595cac779b094cde63195d5fd", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling find-msvc-tools v0.1.7
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling cc v1.2.52
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling inlinable_string v0.1.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling toml_parser v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling pear_codegen v0.2.9
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling pest v2.8.5
[INFO] [stderr]    Compiling devise_core v0.4.2
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling stable-pattern v0.1.0
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling state v0.6.0
[INFO] [stderr]    Compiling derive-deftly-macros v1.6.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling pear v0.2.9
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling pest_meta v2.8.5
[INFO] [stderr]    Compiling devise_codegen v0.4.2
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling linkme-impl v0.3.35
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling rocket_http v0.5.1
[INFO] [stderr]    Compiling pest_generator v2.8.5
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling devise v0.4.2
[INFO] [stderr]    Compiling derive_more v1.0.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling cvt v0.1.2
[INFO] [stderr]    Compiling rocket v0.5.1
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling linkme v0.3.35
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling deunicode v1.6.2
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling derive-deftly v1.6.0
[INFO] [stderr]    Compiling moka v0.12.12
[INFO] [stderr]    Compiling hickory-proto v0.25.2
[INFO] [stderr]    Compiling slug v0.1.6
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]    Compiling rocket_codegen v0.5.1
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling fs_at v0.2.1
[INFO] [stderr]    Compiling humansize v2.1.3
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling globwalk v0.9.1
[INFO] [stderr]    Compiling pest_derive v2.8.5
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling ubyte v0.10.4
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling hashify v0.2.7
[INFO] [stderr]    Compiling tracing-test-macro v0.2.5
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling normpath v1.5.0
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]    Compiling easy-ext v1.0.2
[INFO] [stderr]    Compiling atomic v0.5.3
[INFO] [stderr]    Compiling hex_fmt v0.3.0
[INFO] [stderr]    Compiling binascii v0.1.4
[INFO] [stderr]    Compiling resolv-conf v0.7.6
[INFO] [stderr]    Compiling unicode-properties v0.1.4
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling humantime-serde v1.1.1
[INFO] [stderr]    Compiling tera v1.20.1
[INFO] [stderr]    Compiling remove_dir_all v1.0.0
[INFO] [stderr]    Compiling tracing-test v0.2.5
[INFO] [stderr]    Compiling hickory-resolver v0.25.2
[INFO] [stderr]    Compiling mail-parser v0.11.1
[INFO] [stderr]    Compiling mini-sqlite-dump v0.1.2
[INFO] [stderr]    Compiling reqwest v0.13.1
[INFO] [stderr]    Compiling parse_link_header v0.4.0
[INFO] [stderr]    Compiling tracing-logrotate v0.1.2
[INFO] [stderr]    Compiling sd-notify v0.4.5
[INFO] [stderr]    Compiling inventory v0.3.21
[INFO] [stderr]    Compiling mail-builder v0.4.4
[INFO] [stderr]    Compiling maybe-owned v0.3.4
[INFO] [stderr]    Compiling tag2upload-service-manager v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stdout]   --> src/t2umeta_abstract.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub use derive_deftly_template_FromTagMessage;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `derive_deftly_template_FromTagMessage` could refer to the macro defined here
[INFO] [stdout]   --> src/t2umeta_abstract.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | / define_derive_deftly! {
[INFO] [stdout] 15 | |     export FromTagMessage for struct, expect items:
[INFO] [stdout] 16 | |
[INFO] [stdout] 17 | |     ${define MOD { $crate::t2umeta_abstract }}
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] note: `derive_deftly_template_FromTagMessage` could also refer to the macro imported here
[INFO] [stdout]   --> src/t2umeta_abstract.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | use crate::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: use `self::derive_deftly_template_FromTagMessage` to refer to this macro unambiguously
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout]    = note: `#[warn(ambiguous_import_visibilities)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stdout]    --> src/t2umeta_abstract.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub use MetadataItemError as MIE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `MetadataItemError` could refer to the enum defined here
[INFO] [stdout]    --> src/t2umeta_abstract.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | / pub enum MetadataItemError {
[INFO] [stdout] 152 | |     #[error("unsupported/incorrect syntax")]
[INFO] [stdout] 153 | |     UnknownSyntax,
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | |     BadValue(String),
[INFO] [stdout] 172 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stdout] note: `MetadataItemError` could also refer to the enum imported here
[INFO] [stdout]    --> src/t2umeta_abstract.rs:2:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use crate::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::o2m_tracker) or pub
[INFO] [stdout]    --> src/o2m_tracker.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub use derive_deftly_template_UpdateWorkerReport;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `derive_deftly_template_UpdateWorkerReport` could refer to the macro defined here
[INFO] [stdout]    --> src/o2m_tracker.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / define_derive_deftly! {
[INFO] [stdout] 136 | |     export UpdateWorkerReport:
[INFO] [stdout] 137 | |
[INFO] [stdout] 138 | |     impl $ttype {
[INFO] [stdout] ...   |
[INFO] [stdout] 157 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] note: `derive_deftly_template_UpdateWorkerReport` could also refer to the macro imported here
[INFO] [stdout]    --> src/o2m_tracker.rs:2:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use crate::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: use `self::derive_deftly_template_UpdateWorkerReport` to refer to this macro unambiguously
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout]     = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 09s
[INFO] running `Command { std: "docker" "inspect" "704e165c871c121e25c9e4c88e2fd4ac164c7db595cac779b094cde63195d5fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "704e165c871c121e25c9e4c88e2fd4ac164c7db595cac779b094cde63195d5fd", kill_on_drop: false }`
[INFO] [stdout] 704e165c871c121e25c9e4c88e2fd4ac164c7db595cac779b094cde63195d5fd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 708fcbd26a7eb2ad16577bcef5d65dcd2814aae96a8e49c1ab161f67c2959e5f
[INFO] running `Command { std: "docker" "start" "-a" "708fcbd26a7eb2ad16577bcef5d65dcd2814aae96a8e49c1ab161f67c2959e5f", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling testresult v0.4.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling enum-ordinalize v3.1.15
[INFO] [stderr]    Compiling educe v0.4.23
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling lazy-regex-proc_macros v3.5.1
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling test-temp-dir v0.6.1
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling lazy-regex v3.5.1
[INFO] [stderr]    Compiling tera v1.20.1
[INFO] [stderr]    Compiling tag2upload-service-manager v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stdout]   --> src/t2umeta_abstract.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub use derive_deftly_template_FromTagMessage;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `derive_deftly_template_FromTagMessage` could refer to the macro defined here
[INFO] [stdout]   --> src/t2umeta_abstract.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | / define_derive_deftly! {
[INFO] [stdout] 15 | |     export FromTagMessage for struct, expect items:
[INFO] [stdout] 16 | |
[INFO] [stdout] 17 | |     ${define MOD { $crate::t2umeta_abstract }}
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] note: `derive_deftly_template_FromTagMessage` could also refer to the macro imported here
[INFO] [stdout]   --> src/t2umeta_abstract.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | use crate::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: use `self::derive_deftly_template_FromTagMessage` to refer to this macro unambiguously
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout]    = note: `#[warn(ambiguous_import_visibilities)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stdout]    --> src/t2umeta_abstract.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub use MetadataItemError as MIE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `MetadataItemError` could refer to the enum defined here
[INFO] [stdout]    --> src/t2umeta_abstract.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | / pub enum MetadataItemError {
[INFO] [stdout] 152 | |     #[error("unsupported/incorrect syntax")]
[INFO] [stdout] 153 | |     UnknownSyntax,
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | |     BadValue(String),
[INFO] [stdout] 172 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stdout] note: `MetadataItemError` could also refer to the enum imported here
[INFO] [stdout]    --> src/t2umeta_abstract.rs:2:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use crate::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::o2m_tracker) or pub
[INFO] [stdout]    --> src/o2m_tracker.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub use derive_deftly_template_UpdateWorkerReport;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `derive_deftly_template_UpdateWorkerReport` could refer to the macro defined here
[INFO] [stdout]    --> src/o2m_tracker.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / define_derive_deftly! {
[INFO] [stdout] 136 | |     export UpdateWorkerReport:
[INFO] [stdout] 137 | |
[INFO] [stdout] 138 | |     impl $ttype {
[INFO] [stdout] ...   |
[INFO] [stdout] 157 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] note: `derive_deftly_template_UpdateWorkerReport` could also refer to the macro imported here
[INFO] [stdout]    --> src/o2m_tracker.rs:2:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use crate::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: use `self::derive_deftly_template_UpdateWorkerReport` to refer to this macro unambiguously
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout]     = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stdout]   --> src/t2umeta_abstract.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub use derive_deftly_template_FromTagMessage;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `derive_deftly_template_FromTagMessage` could refer to the macro defined here
[INFO] [stdout]   --> src/t2umeta_abstract.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | / define_derive_deftly! {
[INFO] [stdout] 15 | |     export FromTagMessage for struct, expect items:
[INFO] [stdout] 16 | |
[INFO] [stdout] 17 | |     ${define MOD { $crate::t2umeta_abstract }}
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] note: `derive_deftly_template_FromTagMessage` could also refer to the macro imported here
[INFO] [stdout]   --> src/t2umeta_abstract.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | use crate::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: use `self::derive_deftly_template_FromTagMessage` to refer to this macro unambiguously
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout]    = note: `#[warn(ambiguous_import_visibilities)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stdout]    --> src/t2umeta_abstract.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub use MetadataItemError as MIE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `MetadataItemError` could refer to the enum defined here
[INFO] [stdout]    --> src/t2umeta_abstract.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | / pub enum MetadataItemError {
[INFO] [stdout] 152 | |     #[error("unsupported/incorrect syntax")]
[INFO] [stdout] 153 | |     UnknownSyntax,
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | |     BadValue(String),
[INFO] [stdout] 172 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stdout] note: `MetadataItemError` could also refer to the enum imported here
[INFO] [stdout]    --> src/t2umeta_abstract.rs:2:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use crate::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::o2m_tracker) or pub
[INFO] [stdout]    --> src/o2m_tracker.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub use derive_deftly_template_UpdateWorkerReport;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `derive_deftly_template_UpdateWorkerReport` could refer to the macro defined here
[INFO] [stdout]    --> src/o2m_tracker.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / define_derive_deftly! {
[INFO] [stdout] 136 | |     export UpdateWorkerReport:
[INFO] [stdout] 137 | |
[INFO] [stdout] 138 | |     impl $ttype {
[INFO] [stdout] ...   |
[INFO] [stdout] 157 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] note: `derive_deftly_template_UpdateWorkerReport` could also refer to the macro imported here
[INFO] [stdout]    --> src/o2m_tracker.rs:2:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use crate::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: use `self::derive_deftly_template_UpdateWorkerReport` to refer to this macro unambiguously
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout]     = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 54s
[INFO] running `Command { std: "docker" "inspect" "708fcbd26a7eb2ad16577bcef5d65dcd2814aae96a8e49c1ab161f67c2959e5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "708fcbd26a7eb2ad16577bcef5d65dcd2814aae96a8e49c1ab161f67c2959e5f", kill_on_drop: false }`
[INFO] [stdout] 708fcbd26a7eb2ad16577bcef5d65dcd2814aae96a8e49c1ab161f67c2959e5f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 44df01d3fd20023e9fee3afda34cac384af3c98a16bfdc70ee971f7cb922995b
[INFO] running `Command { std: "docker" "start" "-a" "44df01d3fd20023e9fee3afda34cac384af3c98a16bfdc70ee971f7cb922995b", kill_on_drop: false }`
[INFO] [stderr] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stderr]   --> src/t2umeta_abstract.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub use derive_deftly_template_FromTagMessage;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stderr] note: `derive_deftly_template_FromTagMessage` could refer to the macro defined here
[INFO] [stderr]   --> src/t2umeta_abstract.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | / define_derive_deftly! {
[INFO] [stderr] 15 | |     export FromTagMessage for struct, expect items:
[INFO] [stderr] 16 | |
[INFO] [stderr] 17 | |     ${define MOD { $crate::t2umeta_abstract }}
[INFO] [stderr] ...  |
[INFO] [stderr] 39 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] note: `derive_deftly_template_FromTagMessage` could also refer to the macro imported here
[INFO] [stderr]   --> src/t2umeta_abstract.rs:2:5
[INFO] [stderr]    |
[INFO] [stderr]  2 | use crate::prelude::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = help: use `self::derive_deftly_template_FromTagMessage` to refer to this macro unambiguously
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stderr]    = note: `#[warn(ambiguous_import_visibilities)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]    = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stderr]    --> src/t2umeta_abstract.rs:174:9
[INFO] [stderr]     |
[INFO] [stderr] 174 | pub use MetadataItemError as MIE;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stderr] note: `MetadataItemError` could refer to the enum defined here
[INFO] [stderr]    --> src/t2umeta_abstract.rs:151:1
[INFO] [stderr]     |
[INFO] [stderr] 151 | / pub enum MetadataItemError {
[INFO] [stderr] 152 | |     #[error("unsupported/incorrect syntax")]
[INFO] [stderr] 153 | |     UnknownSyntax,
[INFO] [stderr] ...   |
[INFO] [stderr] 171 | |     BadValue(String),
[INFO] [stderr] 172 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stderr] note: `MetadataItemError` could also refer to the enum imported here
[INFO] [stderr]    --> src/t2umeta_abstract.rs:2:5
[INFO] [stderr]     |
[INFO] [stderr]   2 | use crate::prelude::*;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stderr] 
[INFO] [stderr] warning: ambiguous import visibility: pub(in crate::o2m_tracker) or pub
[INFO] [stderr]    --> src/o2m_tracker.rs:158:9
[INFO] [stderr]     |
[INFO] [stderr] 158 | pub use derive_deftly_template_UpdateWorkerReport;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stderr] note: `derive_deftly_template_UpdateWorkerReport` could refer to the macro defined here
[INFO] [stderr]    --> src/o2m_tracker.rs:135:1
[INFO] [stderr]     |
[INFO] [stderr] 135 | / define_derive_deftly! {
[INFO] [stderr] 136 | |     export UpdateWorkerReport:
[INFO] [stderr] 137 | |
[INFO] [stderr] 138 | |     impl $ttype {
[INFO] [stderr] ...   |
[INFO] [stderr] 157 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] note: `derive_deftly_template_UpdateWorkerReport` could also refer to the macro imported here
[INFO] [stderr]    --> src/o2m_tracker.rs:2:5
[INFO] [stderr]     |
[INFO] [stderr]   2 | use crate::prelude::*;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = help: use `self::derive_deftly_template_UpdateWorkerReport` to refer to this macro unambiguously
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stderr]     = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `tag2upload-service-manager` (lib) generated 3 warnings
[INFO] [stderr] warning: `tag2upload-service-manager` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.61s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tag2upload_service_manager-c33315125c10c9ac)
[INFO] [stdout] 
[INFO] [stdout] running 49 tests
[INFO] [stdout] test config::timeouts_defaults ... ok
[INFO] [stdout] test db_support::all_tables_strict ... ok
[INFO] [stdout] test db_support::build_schema_string ... ok
[INFO] [stdout] test db_support::migration_data_facially_ok ... ok
[INFO] [stdout] test dns::chk_allowed_client ... ok
[INFO] [stdout] test email::address::email_name_parse ... ok
[INFO] [stdout] test email::address::email_name_parse_control ... ok
[INFO] [stdout] test email::address::none_is_empty_email_address ... ok
[INFO] [stdout] test fmt_cmp::test ... ok
[INFO] [stdout] test gitlab::forge_namevers ... ok
[INFO] [stdout] test gitlab::timestamp::cmp ... ok
[INFO] [stdout] test gitlab::timestamp::display ... ok
[INFO] [stdout] test t2umeta_abstract::test::debug_tag_meta ... ok
[INFO] [stdout] test db_migration::db_migr_test::add_table_empty ... FAILED
[INFO] [stdout] test db_migration::db_migr_test::add_table_nonempty ... FAILED
[INFO] [stdout] test db_migration::db_migr_test::add_column ... FAILED
[INFO] [stdout] test db_migration::db_migr_test::auto ... FAILED
[INFO] [stdout] test db_migration::db_migr_test::add_table_partition ... FAILED
[INFO] [stdout] test bsql::bsql_transaction::bsql_test::deadlock_1 ... ok
[INFO] [stdout] test bsql::bsql_transaction::bsql_test::deadlock_many ... ok
[INFO] [stdout] test test::t_jcoalesce::not_simultaneous ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_not_for_us ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_building ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_noticed ... ok
[INFO] [stdout] test test::t_misc::with_let_compiles ... ok
[INFO] [stdout] test test::t_misc::pages_json ... ok
[INFO] [stdout] test test::t_misc::release_job_map ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_queued ... ok
[INFO] [stdout] test test::t_poll::basic ... ok
[INFO] [stdout] test types::check_system_time_max ... ok
[INFO] [stdout] test types::hostname_tests ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_git_object_id_or_null ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_hostname ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_package_name ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_processing_info ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_tag_object_data ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_version_string ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_worker_id ... ok
[INFO] [stdout] test types::time_t_max ... ok
[INFO] [stdout] test ui_render::check_embedded_tera_templates ... ok
[INFO] [stdout] test utils::ht_duration ... ok
[INFO] [stdout] test utils::ht_time_t ... ok
[INFO] [stdout] test test::t_poll::repoll ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_uploaded ... ok
[INFO] [stdout] test test::t_poll::perfect ... ok
[INFO] [stdout] test test::t_comprehensive::comprehensive ... FAILED
[INFO] [stdout] test test::t_poll::equivalence ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_irrecoverable ... FAILED
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_failed ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- db_migration::db_migr_test::add_table_empty stdout ----
[INFO] [stdout] test tag2upload_service_manager::db_migration::db_migr_test::add_table_empty: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout]     1 H
[INFO] [stdout]     2 $a
[INFO] [stdout]     3             CREATE TABLE t2 (
[INFO] [stdout]     4                 value INTEGER NOT NULL
[INFO] [stdout]     5             );
[INFO] [stdout]     6 .
[INFO] [stdout]     7 w
[INFO] [stdout]     8 q
[INFO] [stdout] 
[INFO] [stdout] thread 'db_migration::db_migr_test::add_table_empty' (21) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: std::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5608ef23bb8a - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5608ef23bb8a - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5608ef2582ba - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5608ef2582ba - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5608ef242e42 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5608ef242e42 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5608ef215ebf - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5608ef215ebf - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5608ef231ea9 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5608ee078ecc - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5608ee078ecc - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5608ef232122 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5608ef232122 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5608ef215f78 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5608ef20cfe9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5608ef216ffd - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5608ef258b2c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5608edd67a59 - <testresult[2e00af7b44cd1c97]::TestError as core[786f478f706679df]::convert::From<std[f92b4c606f291077]::io::error::Error>>::from
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/testresult-0.4.1/src/lib.rs:24:9
[INFO] [stdout]   20:     0x5608eda21d80 - <core[786f478f706679df]::result::Result<alloc[64763625b5a07cdb]::string::String, testresult[2e00af7b44cd1c97]::TestError> as core[786f478f706679df]::ops::try_trait::FromResidual<core[786f478f706679df]::result::Result<core[786f478f706679df]::convert::Infallible, std[f92b4c606f291077]::io::error::Error>>>::from_residual
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/result.rs:2189:27
[INFO] [stdout]   21:     0x5608edd1e6ae - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::MigrTestCtx>::eddery::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x5608edd3a232 - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::MigrTestCtx>::eddery
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x5608edd25b0d - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_empty::{closure#1}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:203:25
[INFO] [stdout]   24:     0x5608edcef8b6 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_empty::{closure#1}, anyhow[b0e5fb41720e41af]::Error>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   25:     0x5608edcc7766 - <test_temp_dir[fea24a5a6ef1670b]::TestTempDir>::used_by::<(), tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_empty::{closure#1}, anyhow[b0e5fb41720e41af]::Error>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/test-temp-dir-0.6.1/src/lib.rs:270:21
[INFO] [stdout]   26:     0x5608edcdf51e - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_empty::{closure#1}, anyhow[b0e5fb41720e41af]::Error>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   27:     0x5608edd62578 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_empty
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   28:     0x5608edd24af7 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_empty::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   29:     0x5608ed8679e6 - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_empty::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x5608ee06cfab - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x5608ee06cfab - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   32:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   33:     0x5608ee07999b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x5608ee07999b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   38:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   39:     0x5608ee0750b4 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   40:     0x5608ee0750b4 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42:     0x5608ee07c5a2 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x5608ee07c5a2 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47:     0x5608ee07c5a2 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x5608ef23aa0f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   49:     0x5608ef23aa0f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50:     0x7bbe4bfceaa4 - <unknown>
[INFO] [stdout]   51:     0x7bbe4c05ba64 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- db_migration::db_migr_test::add_table_nonempty stdout ----
[INFO] [stdout] test tag2upload_service_manager::db_migration::db_migr_test::add_table_nonempty: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout]     1 H
[INFO] [stdout]     2 $a
[INFO] [stdout]     3             CREATE TABLE t2 (
[INFO] [stdout]     4                 total_name_len INTEGER NOT NULL
[INFO] [stdout]     5             );
[INFO] [stdout]     6 .
[INFO] [stdout]     7 w
[INFO] [stdout]     8 q
[INFO] [stdout] 
[INFO] [stdout] thread 'db_migration::db_migr_test::add_table_nonempty' (22) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: std::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5608ef23bb8a - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5608ef23bb8a - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5608ef2582ba - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5608ef2582ba - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5608ef242e42 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5608ef242e42 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5608ef215ebf - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5608ef215ebf - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5608ef231ea9 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5608ee078ecc - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5608ee078ecc - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5608ef232122 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5608ef232122 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5608ef215f78 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5608ef20cfe9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5608ef216ffd - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5608ef258b2c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5608edd67a59 - <testresult[2e00af7b44cd1c97]::TestError as core[786f478f706679df]::convert::From<std[f92b4c606f291077]::io::error::Error>>::from
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/testresult-0.4.1/src/lib.rs:24:9
[INFO] [stdout]   20:     0x5608eda21d80 - <core[786f478f706679df]::result::Result<alloc[64763625b5a07cdb]::string::String, testresult[2e00af7b44cd1c97]::TestError> as core[786f478f706679df]::ops::try_trait::FromResidual<core[786f478f706679df]::result::Result<core[786f478f706679df]::convert::Infallible, std[f92b4c606f291077]::io::error::Error>>>::from_residual
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/result.rs:2189:27
[INFO] [stdout]   21:     0x5608edd1e6ae - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::MigrTestCtx>::eddery::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x5608edd3a232 - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::MigrTestCtx>::eddery
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x5608edd2610d - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_nonempty::{closure#1}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:229:25
[INFO] [stdout]   24:     0x5608edcef986 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_nonempty::{closure#1}, anyhow[b0e5fb41720e41af]::Error>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   25:     0x5608edcc7846 - <test_temp_dir[fea24a5a6ef1670b]::TestTempDir>::used_by::<(), tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_nonempty::{closure#1}, anyhow[b0e5fb41720e41af]::Error>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/test-temp-dir-0.6.1/src/lib.rs:270:21
[INFO] [stdout]   26:     0x5608edcdf56e - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_nonempty::{closure#1}, anyhow[b0e5fb41720e41af]::Error>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   27:     0x5608edd629a8 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_nonempty
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   28:     0x5608edd24b27 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_nonempty::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   29:     0x5608ed867a26 - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_nonempty::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x5608ee06cfab - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x5608ee06cfab - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   32:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   33:     0x5608ee07999b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x5608ee07999b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   38:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   39:     0x5608ee0750b4 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   40:     0x5608ee0750b4 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42:     0x5608ee07c5a2 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x5608ee07c5a2 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47:     0x5608ee07c5a2 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x5608ef23aa0f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   49:     0x5608ef23aa0f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50:     0x7bbe4bfceaa4 - <unknown>
[INFO] [stdout]   51:     0x7bbe4c05ba64 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- db_migration::db_migr_test::add_column stdout ----
[INFO] [stdout] test tag2upload_service_manager::db_migration::db_migr_test::add_column: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout]     1 H
[INFO] [stdout]     2 /CREATE TABLE t1/
[INFO] [stdout]     3             /);/
[INFO] [stdout]     4             -1
[INFO] [stdout]     5             s/$/,/
[INFO] [stdout]     6             a
[INFO] [stdout]     7                 new_col INTEGER NOT NULL
[INFO] [stdout]     8 .
[INFO] [stdout]     9 w
[INFO] [stdout]    10 q
[INFO] [stdout] 
[INFO] [stdout] thread 'db_migration::db_migr_test::add_column' (20) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: std::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5608ef23bb8a - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5608ef23bb8a - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5608ef2582ba - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5608ef2582ba - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5608ef242e42 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5608ef242e42 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5608ef215ebf - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5608ef215ebf - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5608ef231ea9 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5608ee078ecc - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5608ee078ecc - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5608ef232122 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5608ef232122 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5608ef215f78 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5608ef20cfe9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5608ef216ffd - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5608ef258b2c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5608edd67a59 - <testresult[2e00af7b44cd1c97]::TestError as core[786f478f706679df]::convert::From<std[f92b4c606f291077]::io::error::Error>>::from
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/testresult-0.4.1/src/lib.rs:24:9
[INFO] [stdout]   20:     0x5608eda21d80 - <core[786f478f706679df]::result::Result<alloc[64763625b5a07cdb]::string::String, testresult[2e00af7b44cd1c97]::TestError> as core[786f478f706679df]::ops::try_trait::FromResidual<core[786f478f706679df]::result::Result<core[786f478f706679df]::convert::Infallible, std[f92b4c606f291077]::io::error::Error>>>::from_residual
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/result.rs:2189:27
[INFO] [stdout]   21:     0x5608edd1e6ae - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::MigrTestCtx>::eddery::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x5608edd3a232 - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::MigrTestCtx>::eddery
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x5608edd24f1f - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_column::{closure#1}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:163:25
[INFO] [stdout]   24:     0x5608edcef7e6 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_column::{closure#1}, anyhow[b0e5fb41720e41af]::Error>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   25:     0x5608edcc7686 - <test_temp_dir[fea24a5a6ef1670b]::TestTempDir>::used_by::<(), tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_column::{closure#1}, anyhow[b0e5fb41720e41af]::Error>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/test-temp-dir-0.6.1/src/lib.rs:270:21
[INFO] [stdout]   26:     0x5608edcdf4ce - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_column::{closure#1}, anyhow[b0e5fb41720e41af]::Error>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   27:     0x5608edd62148 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_column
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   28:     0x5608edd24ac7 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_column::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   29:     0x5608ed8679a6 - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_column::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x5608ee06cfab - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x5608ee06cfab - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   32:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   33:     0x5608ee07999b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x5608ee07999b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   38:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   39:     0x5608ee0750b4 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   40:     0x5608ee0750b4 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42:     0x5608ee07c5a2 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x5608ee07c5a2 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47:     0x5608ee07c5a2 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x5608ef23aa0f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   49:     0x5608ef23aa0f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50:     0x7bbe4bfceaa4 - <unknown>
[INFO] [stdout]   51:     0x7bbe4c05ba64 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- db_migration::db_migr_test::auto stdout ----
[INFO] [stdout] test tag2upload_service_manager::db_migration::db_migr_test::auto: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout]     1 H
[INFO] [stdout]     2 $a
[INFO] [stdout]     3             CREATE TABLE t2 (
[INFO] [stdout]     4                 value INTEGER NOT NULL
[INFO] [stdout]     5             );
[INFO] [stdout]     6 .
[INFO] [stdout]     7 w
[INFO] [stdout]     8 q
[INFO] [stdout] 
[INFO] [stdout] thread 'db_migration::db_migr_test::auto' (24) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: std::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5608ef23bb8a - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5608ef23bb8a - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5608ef2582ba - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5608ef2582ba - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5608ef242e42 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5608ef242e42 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5608ef215ebf - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5608ef215ebf - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5608ef231ea9 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5608ee078ecc - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5608ee078ecc - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5608ef232122 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5608ef232122 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5608ef215f78 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5608ef20cfe9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5608ef216ffd - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5608ef258b2c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5608edd67a59 - <testresult[2e00af7b44cd1c97]::TestError as core[786f478f706679df]::convert::From<std[f92b4c606f291077]::io::error::Error>>::from
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/testresult-0.4.1/src/lib.rs:24:9
[INFO] [stdout]   20:     0x5608eda21d80 - <core[786f478f706679df]::result::Result<alloc[64763625b5a07cdb]::string::String, testresult[2e00af7b44cd1c97]::TestError> as core[786f478f706679df]::ops::try_trait::FromResidual<core[786f478f706679df]::result::Result<core[786f478f706679df]::convert::Infallible, std[f92b4c606f291077]::io::error::Error>>>::from_residual
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/result.rs:2189:27
[INFO] [stdout]   21:     0x5608edd1e6ae - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::MigrTestCtx>::eddery::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x5608edd3a232 - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::MigrTestCtx>::eddery
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x5608edd06119 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::auto::{closure#1}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:314:32
[INFO] [stdout]   24:     0x5608edd27404 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::auto::{closure#1}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:323:16
[INFO] [stdout]   25:     0x5608edcefb26 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::auto::{closure#1}, anyhow[b0e5fb41720e41af]::Error>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   26:     0x5608edcc7a06 - <test_temp_dir[fea24a5a6ef1670b]::TestTempDir>::used_by::<(), tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::auto::{closure#1}, anyhow[b0e5fb41720e41af]::Error>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/test-temp-dir-0.6.1/src/lib.rs:270:21
[INFO] [stdout]   27:     0x5608edcdf60e - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::auto::{closure#1}, anyhow[b0e5fb41720e41af]::Error>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   28:     0x5608edd63208 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::auto
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   29:     0x5608edd24b87 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::auto::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   30:     0x5608ed867aa6 - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::auto::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x5608ee06cfab - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x5608ee06cfab - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   33:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   34:     0x5608ee07999b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5608ee07999b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   39:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   40:     0x5608ee0750b4 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   41:     0x5608ee0750b4 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   42:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   43:     0x5608ee07c5a2 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   44:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   45:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   46:     0x5608ee07c5a2 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   47:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   48:     0x5608ee07c5a2 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   49:     0x5608ef23aa0f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   50:     0x5608ef23aa0f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   51:     0x7bbe4bfceaa4 - <unknown>
[INFO] [stdout]   52:     0x7bbe4c05ba64 - clone
[INFO] [stdout]   53:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- db_migration::db_migr_test::add_table_partition stdout ----
[INFO] [stdout] test tag2upload_service_manager::db_migration::db_migr_test::add_table_partition: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout]     1 H
[INFO] [stdout]     2 $a
[INFO] [stdout]     3             CREATE TABLE t2 (
[INFO] [stdout]     4                 pk INTEGER PRIMARY KEY AUTOINCREMENT,
[INFO] [stdout]     5                 name TEXT NOT NULL
[INFO] [stdout]     6             );
[INFO] [stdout]     7 .
[INFO] [stdout]     8 w
[INFO] [stdout]     9 q
[INFO] [stdout] 
[INFO] [stdout] thread 'db_migration::db_migr_test::add_table_partition' (23) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: std::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5608ef23bb8a - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5608ef23bb8a - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5608ef2582ba - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5608ef2582ba - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5608ef242e42 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5608ef242e42 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5608ef215ebf - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5608ef215ebf - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5608ef231ea9 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5608ee078ecc - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5608ee078ecc - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5608ef232122 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5608ef232122 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5608ef215f78 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5608ef20cfe9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5608ef216ffd - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5608ef258b2c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5608edd67a59 - <testresult[2e00af7b44cd1c97]::TestError as core[786f478f706679df]::convert::From<std[f92b4c606f291077]::io::error::Error>>::from
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/testresult-0.4.1/src/lib.rs:24:9
[INFO] [stdout]   20:     0x5608eda21d80 - <core[786f478f706679df]::result::Result<alloc[64763625b5a07cdb]::string::String, testresult[2e00af7b44cd1c97]::TestError> as core[786f478f706679df]::ops::try_trait::FromResidual<core[786f478f706679df]::result::Result<core[786f478f706679df]::convert::Infallible, std[f92b4c606f291077]::io::error::Error>>>::from_residual
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/result.rs:2189:27
[INFO] [stdout]   21:     0x5608edd1e6ae - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::MigrTestCtx>::eddery::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x5608edd3a232 - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::MigrTestCtx>::eddery
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x5608edd269df - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_partition::{closure#1}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:267:25
[INFO] [stdout]   24:     0x5608edcefa56 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_partition::{closure#1}, anyhow[b0e5fb41720e41af]::Error>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   25:     0x5608edcc7926 - <test_temp_dir[fea24a5a6ef1670b]::TestTempDir>::used_by::<(), tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_partition::{closure#1}, anyhow[b0e5fb41720e41af]::Error>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/test-temp-dir-0.6.1/src/lib.rs:270:21
[INFO] [stdout]   26:     0x5608edcdf5be - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_partition::{closure#1}, anyhow[b0e5fb41720e41af]::Error>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   27:     0x5608edd62dd8 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_partition
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   28:     0x5608edd24b57 - tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_partition::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   29:     0x5608ed867a66 - <tag2upload_service_manager[320f0ef935e4c1c2]::db_migration::db_migr_test::add_table_partition::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x5608ee06cfab - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x5608ee06cfab - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   32:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   33:     0x5608ee07999b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x5608ee07999b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   38:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   39:     0x5608ee0750b4 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   40:     0x5608ee0750b4 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42:     0x5608ee07c5a2 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x5608ee07c5a2 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47:     0x5608ee07c5a2 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x5608ef23aa0f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   49:     0x5608ef23aa0f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50:     0x7bbe4bfceaa4 - <unknown>
[INFO] [stdout]   51:     0x7bbe4c05ba64 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::t_comprehensive::comprehensive stdout ----
[INFO] [stdout] test tag2upload_service_manager::test::t_comprehensive::comprehensive: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout] 2026-03-30T07:26:55.774378Z DEBUG comprehensive: tag2upload_service_manager::global: starting config=Config { t2u: T2u { distro: "debian", forges: [Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], secret_token_file: None, max_concurrent_fetch: 3 }] }, intervals: Intervals { max_tag_age: HtDuration(259200s), max_tag_age_skew: HtDuration(1000s), expire: HtDuration(2764800s), expire_every: HtDuration(18000s), show_recent: HtDuration(86400s) }, timeouts: Timeouts { http_request: HtDuration(100s), git_query: HtDuration(100s), git_clone: HtDuration(500s), send_email: HtDuration(40s), unpause_poll: HtDuration(10s), disconnected_worker_expire: HtDuration(100s), socket_stat_interval: None, db_timeout: HtDuration(10s), db_retries: 100 }, limits: Limits { o2m_line: 16384 }, files: Files { db: "/tmp/.tmpFiEtjx/t2usm.db", o2m_socket: "/tmp/.tmpFiEtjx/o2m", scratch_dir: Some("/tmp/.tmpFiEtjx/scratch"), archive_dir: "/tmp/.tmpFiEtjx/archive", template_dir: None, port_report_file: Some("/tmp/.tmpFiEtjx/port"), self_git_dir: None }, email: Email { sendmail_program: "/opt/rustwide/workdir/btest/sendmail-mock", from_addr: EmailAddress { inner: EmailAddress { name: None, email: "from@example.org" }, string: "<from@example.org>" }, reply_to_addr: EmailAddress { inner: EmailAddress { name: None, email: "reply-to@example.org" }, string: "<reply-to@example.org>" }, copies_addr: EmailAddress { inner: EmailAddress { name: None, email: "copies@example.org" }, string: "<copies@example.org>" } }, vhosts: Vhosts { webhook: ["webhook.tag2upload.debian.org"], ui: ["tag2upload.debian.org"] }, log: Log { level: None, tracing: "", dir: None, schedule: Config({LevelFilter::INFO: LevelConfig { interval: Day, max_files: 28 }, LevelFilter::DEBUG: LevelConfig { interval: Hour, max_files: 72 }}) }, testing: Testing { exit_hup_pgrp: true, time_offset: -49142037, fake_https_dir: None, allowed_source_packages: None }, retry: Retry { min_retries: 15, min_salient_retries: 10, timeout_initial: HtDuration(100s), timeout_increase: 1.2, timeout_mintotal: HtDuration(43200s) }, gitlab: Gitlab { poll_max_queue: 50, rate_limit: HtDuration(3s), webhook_hope_delay: HtDuration(500s), lag_ok: HtDuration(1000s), poll_repo_until: HtDuration(4000s), poll_repo_count: 3 }, .. } cli_options=CliOptions { config: [], config_toml: [], op: RunManager } computed_config=ComputedConfig { unified_webhook_acl: [Addr(127.0.0.1/32)], bsql_timeout: Timeout { per_attempt: 100ms, retries: 100 }, gitlab_poll_repo_interval: 2000, forges: [PreparedForge { config: Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], secret_token_file: None, max_concurrent_fetch: 3 }, kind: Kind, host_global: Any { .. } }] }
[INFO] [stdout] 2026-03-30T07:26:55.991009Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="duplicate-of.part.html"
[INFO] [stdout] 2026-03-30T07:26:55.992450Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="forge-summary.part.html"
[INFO] [stdout] 2026-03-30T07:26:55.997257Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="forge-gitlab.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.006632Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="archived-note.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.007008Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="recent-note.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.007327Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="navbar.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.007621Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="footer.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.008340Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="jobtable.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.010721Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="recent.html"
[INFO] [stdout] 2026-03-30T07:26:56.011108Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="forges.html"
[INFO] [stdout] 2026-03-30T07:26:56.013562Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="queue.html"
[INFO] [stdout] 2026-03-30T07:26:56.013876Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="job.html"
[INFO] [stdout] 2026-03-30T07:26:56.023852Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="error.html"
[INFO] [stdout] 2026-03-30T07:26:56.024378Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="toplevel.html"
[INFO] [stdout] 2026-03-30T07:26:56.071291Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="all-jobs.html"
[INFO] [stdout] 2026-03-30T07:26:56.071692Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="email-body.txt"
[INFO] [stdout] 2026-03-30T07:26:56.108179Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: listening path="/tmp/.tmpFiEtjx/o2m"
[INFO] [stdout] 2026-03-30T07:26:56.108230Z TRACE comprehensive: tag2upload_service_manager::global: spawning task expiry
[INFO] [stdout] 2026-03-30T07:26:56.108271Z TRACE comprehensive: tag2upload_service_manager::global: spawning task unpause
[INFO] [stdout] 2026-03-30T07:26:56.108299Z TRACE comprehensive: tag2upload_service_manager::global: spawning task email
[INFO] [stdout] 2026-03-30T07:26:56.124247Z TRACE comprehensive: tag2upload_service_manager::global: spawning task rocket launcher
[INFO] [stdout] 2026-03-30T07:26:56.126352Z DEBUG comprehensive: tag2upload_service_manager::utils: schema setup| initialising schema in empty database
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET processing = ?
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?,
[INFO] [stdout]                        info = ?  || info || ? 
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713579)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("service manager restarted while Building; may have been uploaded (was: "))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(")"))))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]         DELETE FROM gitlab_poll_hosts
[INFO] [stdout]               WHERE scanned_upto < ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Text("2024-09-04T12:52:59.000000000Z")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] 2026-03-30T07:26:56.243658Z TRACE comprehensive: tag2upload_service_manager::global: spawning task gitlab poll "salsa.debian.org"
[INFO] [stdout] 2026-03-30T07:26:56.243773Z TRACE comprehensive: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 0]
[INFO] [stdout] 2026-03-30T07:26:56.243824Z TRACE comprehensive: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 1]
[INFO] [stdout] 2026-03-30T07:26:56.243854Z TRACE comprehensive: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 2]
[INFO] [stdout] 2026-03-30T07:26:56.243879Z TRACE comprehensive: tag2upload_service_manager::global: spawning task o2m listener
[INFO] [stdout] 2026-03-30T07:26:56.244005Z TRACE comprehensive: tag2upload_service_manager::global: writing port file="/tmp/.tmpFiEtjx/port"
[INFO] [stdout] 2026-03-30T07:26:56.244156Z  INFO comprehensive: tag2upload_service_manager::global: running running=Running { port: 46185 }
[INFO] [stdout] Rocket has launched from http://127.0.0.1:46185
[INFO] [stdout] 2026-03-30T07:26:56.244829Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:52:59.244821340Z when=startup
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712579)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.571786Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>(re)starting<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:52:59Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td colspan=\"9\">\n\t    No workers connected.\n\t  </td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                           SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                           UNION
[INFO] [stdout]                           SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                         ORDER BY last_update DESC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.860718Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/recent" => "<html>\n  <head><title>tag2upload recent and queued jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <b>recent</b> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload recent and queued jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n          <p>\n      Recent means jobs touched after 2024-09-06T12:52:59Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "recent.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712579)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT *
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                   ORDER BY retry_earliest ASC,
[INFO] [stdout]                            retry_count ASC,
[INFO] [stdout]                            repo_project_id ASC
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND true
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("poll")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND status != ? 
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.949437Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/forges" => "<html>\n  <head><title>tag2upload forges</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <b>forges</b> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload forges</h1>\n\n      \n      <h2>salsa.debian.org</h2>\n\n      <dl>\n        <dt>Kind</dt>\n        <dd>gitlab</dd>\n        <dt>Status</dt>\n          \n          <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n      </dl>\n\n      <h3>Job retry control information</h3>\n\n      <table rules=\"all\">\n        <tr>\n          <th>Last job success</th>\n          <td>-</td>\n        </tr>\n        <tr>\n          <th>Last job falure</th>\n          <td>-</td>\n        </tr>\n        <tr>\n          <th>Last falure job</th>\n          <td>\n            \n            <a href=\"/job/\"></a>\n          </td>\n        </tr>\n      </table>\n\n          <h3>Poll (missed webhook scraper) status</h3>\n\n      <dl>\n        <dt>Project updates discovered upto</dt>\n        <dd>-</dd>\n        <dt>Last polling activity at</dt>\n        <dd>2026-03-30T07:26:55Z</dd>\n        <dt>Last polling report</dt>\n        <dd>\n          \n            ok:\n          \n          making progress\n        </dd>\n        <td>\n          <dt>Queue length</dt>\n          <dd>0</dd>\n        </td>\n      </dl>\n\n    <h3>Jobs found only via poll - possible lost webhook events</h3>\n\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Jobs found only via webhook - possible scraper trouble</h3>\n\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Queue - repositories that need to be scanned for tags</h3>\n\n     <p>\n     Repositories are scanned multiple timpes,\n     after we see an update, to cope with\n     <a href=\"https://gitlab.com/gitlab-org/gitlab/-/issues/581897\">strange\n     behaviour by Gitlab</a>.\n     <p>\n\n    <table rules=\"all\">\n      <tr>\n\t<th>\"last activity\" (mendacious)</th>\n\t<th>(re)scan aftner</th>\n\t<th>success count</th>\n\t<th>retry count</th>\n\t<th>project id</th>\n\t<th>url</th>\n\t<th>last scan (attempt)</th>\n\t<th>last outcome</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  Queue is empty.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "forges.html"
[INFO] [stdout] 2026-03-30T07:26:57.032373Z TRACE comprehensive: tag2upload_service_manager::webhook: webhook client=Some(127.0.0.1) err=page not found at this URL: wrong server name (vhost) requested: "Host" was "127.0.0.1", expected webhook.tag2upload.debian.org
[INFO] [stdout] 2026-03-30T07:26:57.032464Z DEBUG comprehensive: tag2upload_service_manager::webhook: rejected early: 404 Not Found, page not found at this URL: wrong server name (vhost) requested: "Host" was "127.0.0.1", expected webhook.tag2upload.debian.org
[INFO] [stdout] 2026-03-30T07:26:57.033015Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: (expected wrong vhost) status=404 Not Found "error: page not found at this URL: wrong server name (vhost) requested: \"Host\" was \"127.0.0.1\", expected webhook.tag2upload.debian.org" what="webhook"
[INFO] [stdout] 2026-03-30T07:26:57.245419Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: (expected wrong vhost) status=404 Not Found "error: page not found at this URL: wrong server name (vhost) requested: \"Host\" was \"127.0.0.1\", expected tag2upload.debian.org" what="toiplevel"
[INFO] [stdout] 2026-03-30T07:26:57.384979Z TRACE comprehensive: tag2upload_service_manager::webhook: webhook client=ActualClient { addr: 127.0.0.1, names: OnceLock(<uninit>) } raw=Object {"after": String("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "before": String("0000000000000000000000000000000000000000"), "checkout_sha": String("b8e6d37e61b2eebc030752f0f4962960d87c1af4"), "commits": Array [Object {"added": Array [], "author": Object {"email": String("[REDACTED]"), "name": String("Ian Jackson")}, "id": String("b8e6d37e61b2eebc030752f0f4962960d87c1af4"), "message": String("Finalise 1.40\n\nSigned-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>\n"), "modified": Array [String("debian/changelog")], "removed": Array [], "timestamp": String("2024-09-07T12:36:43+01:00"), "title": String("Finalise 1.40"), "url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy/-/commit/b8e6d37e61b2eebc030752f0f4962960d87c1af4")}], "event_name": String("tag_push"), "message": String("dgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----"), "object_kind": String("tag_push"), "project": Object {"avatar_url": Null, "ci_config_path": Null, "default_branch": String("master"), "description": String("Test package for archive infrastructure."), "git_http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "git_ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "homepage": String("https://salsa.debian.org/dgit-team/dgit-test-dummy"), "http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "id": Number(36575), "name": String("dgit-test-dummy"), "namespace": String("dgit"), "path_with_namespace": String("dgit-team/dgit-test-dummy"), "ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "visibility_level": Number(20), "web_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy")}, "project_id": Number(36575), "push_options": Object {}, "ref": String("refs/tags/debian/1.40"), "ref_protected": Bool(false), "repository": Object {"description": String("Test package for archive infrastructure."), "git_http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "git_ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "homepage": String("https://salsa.debian.org/dgit-team/dgit-test-dummy"), "name": String("dgit-test-dummy"), "url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "visibility_level": Number(20)}, "total_commits_count": Number(1), "user_avatar": String("https://salsa.debian.org/uploads/-/system/user/avatar/193/avatar.png"), "user_email": String("[REDACTED]"), "user_id": Number(193), "user_name": String("Ian Jackson"), "user_username": String("iwj")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]             WHERE throttle > 0 
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]             WHERE throttle > 0 
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT *
[INFO] [stdout]                    FROM jobs
[INFO] [stdout]                   WHERE tag_objectid = ? 
[INFO] [stdout]                     AND repo_git_url = ? 
[INFO] [stdout]                     AND status NOT IN (?)
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout] bsql text: INSERT INTO jobs (repo_git_url,tag_objectid,tag_name,forge_host,forge_namever,forge_data,source,version,received,retry_earliest,report_email,tag_data,status,last_update,processing,received_via,info,emailed,duplicate_of,retry_salient_count) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"))))
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("debian/1.40"))))
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("{\"user_id\":193,\"project_id\":36575}"))))
[INFO] [stdout]     Ok(Owned(Text("dgit-test-dummy")))
[INFO] [stdout]     Ok(Owned(Text("1.40")))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("job received, tag not yet fetched"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     bsql_insert rowid 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.390556Z  INFO comprehensive: tag2upload_service_manager::webhook: [salsa.debian.org] received jid=1 now=Noticed info="job received, tag not yet fetched" event= source=dgit-test-dummy, from [127.0.0.1], url=https://salsa.debian.org/dgit-team/dgit-test-dummy.git tag=debian/1.40 objectid=7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12
[INFO] [stdout] 2026-03-30T07:26:57.390638Z DEBUG comprehensive: tag2upload_service_manager::webhook: [salsa.debian.org] received jid=1 now=Noticed info="job received, tag not yet fetched" event= source=dgit-test-dummy, from [127.0.0.1], url=https://salsa.debian.org/dgit-team/dgit-test-dummy.git tag=debian/1.40 objectid=7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12 raw=Object {"after": String("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "before": String("0000000000000000000000000000000000000000"), "checkout_sha": String("b8e6d37e61b2eebc030752f0f4962960d87c1af4"), "commits": Array [Object {"added": Array [], "author": Object {"email": String("[REDACTED]"), "name": String("Ian Jackson")}, "id": String("b8e6d37e61b2eebc030752f0f4962960d87c1af4"), "message": String("Finalise 1.40\n\nSigned-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>\n"), "modified": Array [String("debian/changelog")], "removed": Array [], "timestamp": String("2024-09-07T12:36:43+01:00"), "title": String("Finalise 1.40"), "url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy/-/commit/b8e6d37e61b2eebc030752f0f4962960d87c1af4")}], "event_name": String("tag_push"), "message": String("dgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----"), "object_kind": String("tag_push"), "project": Object {"avatar_url": Null, "ci_config_path": Null, "default_branch": String("master"), "description": String("Test package for archive infrastructure."), "git_http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "git_ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "homepage": String("https://salsa.debian.org/dgit-team/dgit-test-dummy"), "http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "id": Number(36575), "name": String("dgit-test-dummy"), "namespace": String("dgit"), "path_with_namespace": String("dgit-team/dgit-test-dummy"), "ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "visibility_level": Number(20), "web_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy")}, "project_id": Number(36575), "push_options": Object {}, "ref": String("refs/tags/debian/1.40"), "ref_protected": Bool(false), "repository": Object {"description": String("Test package for archive infrastructure."), "git_http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "git_ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "homepage": String("https://salsa.debian.org/dgit-team/dgit-test-dummy"), "name": String("dgit-test-dummy"), "url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "visibility_level": Number(20)}, "total_commits_count": Number(1), "user_avatar": String("https://salsa.debian.org/uploads/-/system/user/avatar/193/avatar.png"), "user_email": String("[REDACTED]"), "user_id": Number(193), "user_name": String("Ian Jackson"), "user_username": String("iwj")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.393325Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: resp="job received, jid=1"
[INFO] [stdout] 2026-03-30T07:26:57.396009Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: jid=JobId(1)
[INFO] [stdout] bsql text: SELECT * FROM jobs WHERE jid=? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] 2026-03-30T07:26:57.396306Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: job=Some(JobRow { jid: JobId(1), data: JobData { repo_git_url: RepoGitUrl("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12", tag_name: TagName("debian/1.40"), forge_host: "salsa.debian.org", forge_namever: Namever { kind_name: "gitlab", data_version: 2 }, forge_data: "{\"user_id\":193,\"project_id\":36575}", tag_meta: Parsed { source: "dgit-test-dummy", version: "1.40" } }, received: TimeT(1725713580 2024-09-07T12:53:00Z), retry_earliest: TreatZeroAsNone(TimeT(0 1970-01-01T00:00:00Z)), report_email: NoneIsEmpty(None), tag_data: NoneIsEmpty(None), s: JobState { status: Noticed, last_update: TimeT(1725713580 2024-09-07T12:53:00Z), processing: NoneIsEmpty(None), received_via: SpaceSeparated([Webhook]), info: "job received, tag not yet fetched", emailed: NotYet, duplicate_of: None, retry_salient_count: 0 } })
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.397100Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] 2026-03-30T07:26:57.397466Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.399712Z TRACE comprehensive: tag2upload_service_manager::retry: no attempts yet, run right away
[INFO] [stdout] 2026-03-30T07:26:57.399747Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Attempt(AttemptInfo { is_salient: Some(IsSalient), is_final: Ok(()) })
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("fetching tag from forge"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.402805Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.403265Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:57.403321Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.403678Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:57.403789Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.404159Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:57.404207Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.404574Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.405153Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] found (fetch) jid=1 now=Noticed info="fetching tag from forge" attempt_info=[Sr]
[INFO] [stdout] 2026-03-30T07:26:57.405301Z  WARN comprehensive: tag2upload_service_manager::gitlab: unable to obtain email address: salsa.debian.org: no secret token configured host=salsa.debian.org jid=1
[INFO] [stdout] 2026-03-30T07:26:57.405332Z TRACE comprehensive: tag2upload_service_manager::gitlab: fetching tag host=salsa.debian.org jid=1
[INFO] [stdout] 2026-03-30T07:26:57.405424Z TRACE comprehensive: tag2upload_service_manager::gitlab: gitab tag info jid=1 url=https://salsa.debian.org/api/v4/projects/36575/repository/tags/debian%2F1.40
[INFO] [stdout] 2026-03-30T07:26:57.406585Z  INFO comprehensive: tag2upload_service_manager::test::t_data: mocking 36575 "debian/1.40"
[INFO] [stdout] 2026-03-30T07:26:57.407268Z TRACE comprehensive: tag2upload_service_manager::gitlab: gitab tag date jid=1 created_at=2024-09-07T11:39:52.000000000Z
[INFO] [stdout] 2026-03-30T07:26:57.407434Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["init", "--bare"]
[INFO] [stdout] 2026-03-30T07:26:57.440358Z TRACE comprehensive: tag2upload_service_manager::gitclone: git init succeeded jid=1 args=["init", "--bare"] stdout="Initialized empty Git repository in /tmp/.tmpFiEtjx/scratch/fetch,gitlab-2,salsa.debian.org,0/package.git/\n"
[INFO] [stdout] 2026-03-30T07:26:57.440478Z DEBUG comprehensive: tag2upload_service_manager::gitclone: git fetch... jid=1 url="no-such-scheme:"
[INFO] [stdout] 2026-03-30T07:26:57.440655Z  INFO comprehensive: tag2upload_service_manager::fetcher: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed host=salsa.debian.org jid=1
[INFO] [stdout] 2026-03-30T07:26:57.440715Z TRACE comprehensive: tag2upload_service_manager::fetcher: tag fetch work ended host=salsa.debian.org jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, processing = ?, info = ?, retry_salient_count = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[INFO] [stdout]     Ok(Owned(Text("tempfail")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.443979Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] updated (tempfail) jid=1 now=Noticed info="retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         UPDATE jobs
[INFO] [stdout]                            SET processing = ?
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("tempfail")))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.448147Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-03-30T07:26:57.448612Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] 2026-03-30T07:26:57.448661Z TRACE comprehensive: tag2upload_service_manager::retry: need to wait for host, Wait { delay: 100s, retry_earliest: TimeT(1725713680 2024-09-07T12:54:40Z) }
[INFO] [stdout] 2026-03-30T07:26:57.448691Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 100s, retry_earliest: TimeT(1725713680 2024-09-07T12:54:40Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713680)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.452092Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] JOB, AFTER FAILED ONCE: JobRow {
[INFO] [stdout]     jid: JobId(
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     data: JobData {
[INFO] [stdout]         repo_git_url: RepoGitUrl(
[INFO] [stdout]             "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]         ),
[INFO] [stdout]         tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]         tag_name: TagName(
[INFO] [stdout]             "debian/1.40",
[INFO] [stdout]         ),
[INFO] [stdout]         forge_host: "salsa.debian.org",
[INFO] [stdout]         forge_namever: Namever {
[INFO] [stdout]             kind_name: "gitlab",
[INFO] [stdout]             data_version: 2,
[INFO] [stdout]         },
[INFO] [stdout]         forge_data: "{\"user_id\":193,\"project_id\":36575}",
[INFO] [stdout]         tag_meta: Parsed {
[INFO] [stdout]             source: "dgit-test-dummy",
[INFO] [stdout]             version: "1.40",
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout]     received: TimeT(1725713580 2024-09-07T12:53:00Z),
[INFO] [stdout]     retry_earliest: TreatZeroAsNone(
[INFO] [stdout]         TimeT(1725713680 2024-09-07T12:54:40Z),
[INFO] [stdout]     ),
[INFO] [stdout]     report_email: NoneIsEmpty(
[INFO] [stdout]         None,
[INFO] [stdout]     ),
[INFO] [stdout]     tag_data: NoneIsEmpty(
[INFO] [stdout]         None,
[INFO] [stdout]     ),
[INFO] [stdout]     s: JobState {
[INFO] [stdout]         status: Noticed,
[INFO] [stdout]         last_update: TimeT(1725713580 2024-09-07T12:53:00Z),
[INFO] [stdout]         processing: NoneIsEmpty(
[INFO] [stdout]             None,
[INFO] [stdout]         ),
[INFO] [stdout]         received_via: SpaceSeparated(
[INFO] [stdout]             [
[INFO] [stdout]                 Webhook,
[INFO] [stdout]             ],
[INFO] [stdout]         ),
[INFO] [stdout]         info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed",
[INFO] [stdout]         emailed: NotYet,
[INFO] [stdout]         duplicate_of: None,
[INFO] [stdout]         retry_salient_count: 1,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] 2026-03-30T07:26:57.543175Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-03-30T07:26:57.543829Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] 2026-03-30T07:26:57.543873Z TRACE comprehensive: tag2upload_service_manager::retry: need to wait for host, Wait { delay: 100s, retry_earliest: TimeT(1725713680 2024-09-07T12:54:40Z) }
[INFO] [stdout] 2026-03-30T07:26:57.543903Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 100s, retry_earliest: TimeT(1725713680 2024-09-07T12:54:40Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713680)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.548567Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.549129Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-03-30T07:26:57.549482Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] 2026-03-30T07:26:57.549543Z TRACE comprehensive: tag2upload_service_manager::retry: need to wait for host, Wait { delay: 100s, retry_earliest: TimeT(1725713680 2024-09-07T12:54:40Z) }
[INFO] [stdout] 2026-03-30T07:26:57.549571Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 100s, retry_earliest: TimeT(1725713680 2024-09-07T12:54:40Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713680)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.551802Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712580)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT *
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                   ORDER BY retry_earliest ASC,
[INFO] [stdout]                            retry_count ASC,
[INFO] [stdout]                            repo_project_id ASC
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND true
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("poll")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND status != ? 
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.557273Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/forges" => "<html>\n  <head><title>tag2upload forges</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <b>forges</b> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload forges</h1>\n\n      \n      <h2>salsa.debian.org</h2>\n\n      <dl>\n        <dt>Kind</dt>\n        <dd>gitlab</dd>\n        <dt>Status</dt>\n          \n          <dd>\n  \n    trouble\n    <ul>\n      \n        <li>job failure at 2024-09-07T12:53:00Z; job 1</li>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n      </dl>\n\n      <h3>Job retry control information</h3>\n\n      <table rules=\"all\">\n        <tr>\n          <th>Last job success</th>\n          <td>-</td>\n        </tr>\n        <tr>\n          <th>Last job falure</th>\n          <td>2024-09-07T12:53:00Z</td>\n        </tr>\n        <tr>\n          <th>Last falure job</th>\n          <td>\n            \n            <a href=\"/job/1\">1</a>\n          </td>\n        </tr>\n      </table>\n\n          <h3>Poll (missed webhook scraper) status</h3>\n\n      <dl>\n        <dt>Project updates discovered upto</dt>\n        <dd>-</dd>\n        <dt>Last polling activity at</dt>\n        <dd>2026-03-30T07:26:55Z</dd>\n        <dt>Last polling report</dt>\n        <dd>\n          \n            ok:\n          \n          making progress\n        </dd>\n        <td>\n          <dt>Queue length</dt>\n          <dd>0</dd>\n        </td>\n      </dl>\n\n    <h3>Jobs found only via poll - possible lost webhook events</h3>\n\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Jobs found only via webhook - possible scraper trouble</h3>\n\n    \n      <p>\n        These jobs have been received by a webhook event,\n        but not (yet) found by scanning the gitlab API.\n        Jobs are supposed to by found both ways, eventually,\n        but the scraper lags, perhaps by many minutes,\n        since it must poll.\n      <p>\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:00Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:53:00Z</td>\n\t<td>Noticed</td>\n\t<td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n\t<td></td>\n\t<td>2024-09-07T12:54:40Z</td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Queue - repositories that need to be scanned for tags</h3>\n\n     <p>\n     Repositories are scanned multiple timpes,\n     after we see an update, to cope with\n     <a href=\"https://gitlab.com/gitlab-org/gitlab/-/issues/581897\">strange\n     behaviour by Gitlab</a>.\n     <p>\n\n    <table rules=\"all\">\n      <tr>\n\t<th>\"last activity\" (mendacious)</th>\n\t<th>(re)scan aftner</th>\n\t<th>success count</th>\n\t<th>retry count</th>\n\t<th>project id</th>\n\t<th>url</th>\n\t<th>last scan (attempt)</th>\n\t<th>last outcome</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  Queue is empty.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "forges.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs WHERE jid = ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                          FROM job_history
[INFO] [stdout]                         WHERE jid = ? 
[INFO] [stdout]                      ORDER BY histent ASC
[INFO] [stdout]            
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 1), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 0), "duplicate_of": (Null, ()), "processing": (Text, ""), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 2), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 0), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.648311Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/job/1" => "<html>\n  <head><title>tag2upload job 1</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload job 1</h1>\n\n    <h2>Details</h2>\n\n      <table rules=\"all\">\n\t<tr>\n          <th>job</th>\n          <td>1</td>\n        </tr>\n\t<tr>\n          <th>received</th>\n          <td>2024-09-07T12:53:00Z</td>\n        </tr>\n\t<tr>\n          <th>received via</th>\n          <td>webhook</td>\n        </tr>\n\t<tr>\n          <th>source</th>\n          <td>dgit-test-dummy</td>\n        </tr>\n\t<tr>\n          <th>version</th>\n          <td>1.40</td>\n        </tr>\n\t<tr>\n          <th>url</th>\n          <td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n        </tr>\n\t<tr>\n          <th>forge host</th>\n          <td>salsa.debian.org</td>\n        </tr>\n\t<tr>\n          <th>tag name</th>\n          <td>debian&#x2F;1.40</td>\n        </tr>\n\t<tr>\n          <th>tag objectid</th>\n          <td>7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12</td>\n        </tr>\n      </table>\n\n    <h2>Current state</h2>\n\n      <table rules=\"all\">\n\t<tr>\n          <th>last_update</th>\n          <td>2024-09-07T12:53:00Z</td>\n        </tr>\n\t<tr>\n          <th>status</th>\n          <td>Noticed</td>\n        </tr>\n\t<tr>\n          <th>info</th>\n          <td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n        </tr>\n\t<tr>\n          <th>processing</th>\n          <td></td>\n        </tr>\n\t<tr>\n          <th>email report?</th>\n          <td></td>\n        </tr>\n\t<tr>\n          <th>no. of salient retries</th>\n          <td>1</td>\n        </tr>\n\t<tr>\n          <th>will retry at (not before)</th>\n          <td>2024-09-07T12:54:40Z</td>\n        </tr>\n\t<tr>\n          <th>dupe of</th>\n          <td></td>\n        </tr>\n      </table>\n\n      <h2>History</h2>\n\n      <table rules=\"all\">\n        <tr>\n          <th>timestamp</th>\n          <th>status</th>\n          <th>info</th>\n          <th>received via</th>\n          <th>processing</th>\n          <th>email</th>\n          <th>dupe of</th>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:00Z</td>\n          <td>Noticed</td>\n          <td>job received, tag not yet fetched</td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:00Z</td>\n          <td>Noticed</td>\n          <td>fetching tag from forge</td>\n          <td>webhook</td>\n          <td>fetch</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:00Z</td>\n          <td>Noticed</td>\n          <td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n          <td>webhook</td>\n          <td>tempfail</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:00Z</td>\n          <td>Noticed</td>\n          <td> &quot;  &quot; </td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      \n      </table>\n\n      <p>\n      (Certain older history entries are not shown.)\n\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "job.html"
[INFO] [stdout] 2026-03-30T07:26:57.648686Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:53:00.648679559Z when=before advance
[INFO] [stdout] 2026-03-30T07:26:57.648734Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:54:41.648732289Z when=after advance
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.649236Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-03-30T07:26:57.649599Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent ASC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent DESC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-03-30T07:26:57.649904Z TRACE comprehensive: tag2upload_service_manager::retry: job-specific calculation first_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713580 2024-09-07T12:53:00Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } } previous_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713580 2024-09-07T12:53:00Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } }
[INFO] [stdout] 2026-03-30T07:26:57.649950Z TRACE comprehensive: tag2upload_service_manager::retry: need to delay this job, Wait { delay: 19s, retry_earliest: TimeT(1725713700 2024-09-07T12:55:00Z) }
[INFO] [stdout] 2026-03-30T07:26:57.649970Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 19s, retry_earliest: TimeT(1725713700 2024-09-07T12:55:00Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713700)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.652278Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:57.652386Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-03-30T07:26:57.652749Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent ASC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent DESC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-03-30T07:26:57.653051Z TRACE comprehensive: tag2upload_service_manager::retry: job-specific calculation first_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713580 2024-09-07T12:53:00Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } } previous_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713580 2024-09-07T12:53:00Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } }
[INFO] [stdout] 2026-03-30T07:26:57.653105Z TRACE comprehensive: tag2upload_service_manager::retry: need to delay this job, Wait { delay: 19s, retry_earliest: TimeT(1725713700 2024-09-07T12:55:00Z) }
[INFO] [stdout] 2026-03-30T07:26:57.653124Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 19s, retry_earliest: TimeT(1725713700 2024-09-07T12:55:00Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713700)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.655217Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:57.655321Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-03-30T07:26:57.655683Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent ASC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent DESC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-03-30T07:26:57.655980Z TRACE comprehensive: tag2upload_service_manager::retry: job-specific calculation first_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713580 2024-09-07T12:53:00Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } } previous_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713580 2024-09-07T12:53:00Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } }
[INFO] [stdout] 2026-03-30T07:26:57.656023Z TRACE comprehensive: tag2upload_service_manager::retry: need to delay this job, Wait { delay: 19s, retry_earliest: TimeT(1725713700 2024-09-07T12:55:00Z) }
[INFO] [stdout] 2026-03-30T07:26:57.656046Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 19s, retry_earliest: TimeT(1725713700 2024-09-07T12:55:00Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713700)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.658175Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712681)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT *
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                   ORDER BY retry_earliest ASC,
[INFO] [stdout]                            retry_count ASC,
[INFO] [stdout]                            repo_project_id ASC
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND true
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("poll")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND status != ? 
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.736405Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/forges" => "<html>\n  <head><title>tag2upload forges</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <b>forges</b> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload forges</h1>\n\n      \n      <h2>salsa.debian.org</h2>\n\n      <dl>\n        <dt>Kind</dt>\n        <dd>gitlab</dd>\n        <dt>Status</dt>\n          \n          <dd>\n  \n    trouble\n    <ul>\n      \n        <li>job failure at 2024-09-07T12:53:00Z; job 1</li>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n      </dl>\n\n      <h3>Job retry control information</h3>\n\n      <table rules=\"all\">\n        <tr>\n          <th>Last job success</th>\n          <td>-</td>\n        </tr>\n        <tr>\n          <th>Last job falure</th>\n          <td>2024-09-07T12:53:00Z</td>\n        </tr>\n        <tr>\n          <th>Last falure job</th>\n          <td>\n            \n            <a href=\"/job/1\">1</a>\n          </td>\n        </tr>\n      </table>\n\n          <h3>Poll (missed webhook scraper) status</h3>\n\n      <dl>\n        <dt>Project updates discovered upto</dt>\n        <dd>-</dd>\n        <dt>Last polling activity at</dt>\n        <dd>2026-03-30T07:26:55Z</dd>\n        <dt>Last polling report</dt>\n        <dd>\n          \n            ok:\n          \n          making progress\n        </dd>\n        <td>\n          <dt>Queue length</dt>\n          <dd>0</dd>\n        </td>\n      </dl>\n\n    <h3>Jobs found only via poll - possible lost webhook events</h3>\n\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Jobs found only via webhook - possible scraper trouble</h3>\n\n    \n      <p>\n        These jobs have been received by a webhook event,\n        but not (yet) found by scanning the gitlab API.\n        Jobs are supposed to by found both ways, eventually,\n        but the scraper lags, perhaps by many minutes,\n        since it must poll.\n      <p>\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:00Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:53:00Z</td>\n\t<td>Noticed</td>\n\t<td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n\t<td></td>\n\t<td>2024-09-07T12:55:00Z</td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Queue - repositories that need to be scanned for tags</h3>\n\n     <p>\n     Repositories are scanned multiple timpes,\n     after we see an update, to cope with\n     <a href=\"https://gitlab.com/gitlab-org/gitlab/-/issues/581897\">strange\n     behaviour by Gitlab</a>.\n     <p>\n\n    <table rules=\"all\">\n      <tr>\n\t<th>\"last activity\" (mendacious)</th>\n\t<th>(re)scan aftner</th>\n\t<th>success count</th>\n\t<th>retry count</th>\n\t<th>project id</th>\n\t<th>url</th>\n\t<th>last scan (attempt)</th>\n\t<th>last outcome</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  Queue is empty.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "forges.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs WHERE jid = ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                          FROM job_history
[INFO] [stdout]                         WHERE jid = ? 
[INFO] [stdout]                      ORDER BY histent ASC
[INFO] [stdout]            
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 1), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 0), "duplicate_of": (Null, ()), "processing": (Text, ""), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 2), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 0), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.827710Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/job/1" => "<html>\n  <head><title>tag2upload job 1</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload job 1</h1>\n\n    <h2>Details</h2>\n\n      <table rules=\"all\">\n\t<tr>\n          <th>job</th>\n          <td>1</td>\n        </tr>\n\t<tr>\n          <th>received</th>\n          <td>2024-09-07T12:53:00Z</td>\n        </tr>\n\t<tr>\n          <th>received via</th>\n          <td>webhook</td>\n        </tr>\n\t<tr>\n          <th>source</th>\n          <td>dgit-test-dummy</td>\n        </tr>\n\t<tr>\n          <th>version</th>\n          <td>1.40</td>\n        </tr>\n\t<tr>\n          <th>url</th>\n          <td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n        </tr>\n\t<tr>\n          <th>forge host</th>\n          <td>salsa.debian.org</td>\n        </tr>\n\t<tr>\n          <th>tag name</th>\n          <td>debian&#x2F;1.40</td>\n        </tr>\n\t<tr>\n          <th>tag objectid</th>\n          <td>7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12</td>\n        </tr>\n      </table>\n\n    <h2>Current state</h2>\n\n      <table rules=\"all\">\n\t<tr>\n          <th>last_update</th>\n          <td>2024-09-07T12:53:00Z</td>\n        </tr>\n\t<tr>\n          <th>status</th>\n          <td>Noticed</td>\n        </tr>\n\t<tr>\n          <th>info</th>\n          <td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n        </tr>\n\t<tr>\n          <th>processing</th>\n          <td></td>\n        </tr>\n\t<tr>\n          <th>email report?</th>\n          <td></td>\n        </tr>\n\t<tr>\n          <th>no. of salient retries</th>\n          <td>1</td>\n        </tr>\n\t<tr>\n          <th>will retry at (not before)</th>\n          <td>2024-09-07T12:55:00Z</td>\n        </tr>\n\t<tr>\n          <th>dupe of</th>\n          <td></td>\n        </tr>\n      </table>\n\n      <h2>History</h2>\n\n      <table rules=\"all\">\n        <tr>\n          <th>timestamp</th>\n          <th>status</th>\n          <th>info</th>\n          <th>received via</th>\n          <th>processing</th>\n          <th>email</th>\n          <th>dupe of</th>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:00Z</td>\n          <td>Noticed</td>\n          <td>job received, tag not yet fetched</td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:00Z</td>\n          <td>Noticed</td>\n          <td>fetching tag from forge</td>\n          <td>webhook</td>\n          <td>fetch</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:00Z</td>\n          <td>Noticed</td>\n          <td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n          <td>webhook</td>\n          <td>tempfail</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:00Z</td>\n          <td>Noticed</td>\n          <td> &quot;  &quot; </td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      \n      </table>\n\n      <p>\n      (Certain older history entries are not shown.)\n\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "job.html"
[INFO] [stdout] JOB, AFTER FAILED TWICE: JobRow {
[INFO] [stdout]     jid: JobId(
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     data: JobData {
[INFO] [stdout]         repo_git_url: RepoGitUrl(
[INFO] [stdout]             "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]         ),
[INFO] [stdout]         tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]         tag_name: TagName(
[INFO] [stdout]             "debian/1.40",
[INFO] [stdout]         ),
[INFO] [stdout]         forge_host: "salsa.debian.org",
[INFO] [stdout]         forge_namever: Namever {
[INFO] [stdout]             kind_name: "gitlab",
[INFO] [stdout]             data_version: 2,
[INFO] [stdout]         },
[INFO] [stdout]         forge_data: "{\"user_id\":193,\"project_id\":36575}",
[INFO] [stdout]         tag_meta: Parsed {
[INFO] [stdout]             source: "dgit-test-dummy",
[INFO] [stdout]             version: "1.40",
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout]     received: TimeT(1725713580 2024-09-07T12:53:00Z),
[INFO] [stdout]     retry_earliest: TreatZeroAsNone(
[INFO] [stdout]         TimeT(1725713700 2024-09-07T12:55:00Z),
[INFO] [stdout]     ),
[INFO] [stdout]     report_email: NoneIsEmpty(
[INFO] [stdout]         None,
[INFO] [stdout]     ),
[INFO] [stdout]     tag_data: NoneIsEmpty(
[INFO] [stdout]         None,
[INFO] [stdout]     ),
[INFO] [stdout]     s: JobState {
[INFO] [stdout]         status: Noticed,
[INFO] [stdout]         last_update: TimeT(1725713580 2024-09-07T12:53:00Z),
[INFO] [stdout]         processing: NoneIsEmpty(
[INFO] [stdout]             None,
[INFO] [stdout]         ),
[INFO] [stdout]         received_via: SpaceSeparated(
[INFO] [stdout]             [
[INFO] [stdout]                 Webhook,
[INFO] [stdout]             ],
[INFO] [stdout]         ),
[INFO] [stdout]         info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed",
[INFO] [stdout]         emailed: NotYet,
[INFO] [stdout]         duplicate_of: None,
[INFO] [stdout]         retry_salient_count: 1,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] 2026-03-30T07:26:57.828130Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:54:41.828125796Z when=before advance
[INFO] [stdout] 2026-03-30T07:26:57.828183Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:55:01.828181156Z when=after advance
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.829495Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-03-30T07:26:57.829869Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent ASC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent DESC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-03-30T07:26:57.830231Z TRACE comprehensive: tag2upload_service_manager::retry: job-specific calculation first_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713580 2024-09-07T12:53:00Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } } previous_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713580 2024-09-07T12:53:00Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } }
[INFO] [stdout] 2026-03-30T07:26:57.830283Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Attempt(AttemptInfo { is_salient: None, is_final: Ok(()) })
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713701)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("fetching tag from forge"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.835849Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.836311Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:57.836382Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.836718Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 1725713700), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.837264Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] found (fetch) jid=1 now=Noticed info="fetching tag from forge" attempt_info=[r]
[INFO] [stdout] 2026-03-30T07:26:57.837410Z  WARN comprehensive: tag2upload_service_manager::gitlab: unable to obtain email address: salsa.debian.org: no secret token configured host=salsa.debian.org jid=1
[INFO] [stdout] 2026-03-30T07:26:57.837442Z TRACE comprehensive: tag2upload_service_manager::gitlab: fetching tag host=salsa.debian.org jid=1
[INFO] [stdout] 2026-03-30T07:26:57.837535Z TRACE comprehensive: tag2upload_service_manager::gitlab: gitab tag info jid=1 url=https://salsa.debian.org/api/v4/projects/36575/repository/tags/debian%2F1.40
[INFO] [stdout] 2026-03-30T07:26:57.838233Z  INFO comprehensive: tag2upload_service_manager::test::t_data: mocking 36575 "debian/1.40"
[INFO] [stdout] 2026-03-30T07:26:57.838903Z TRACE comprehensive: tag2upload_service_manager::gitlab: gitab tag date jid=1 created_at=2024-09-07T11:39:52.000000000Z
[INFO] [stdout] 2026-03-30T07:26:57.839040Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["init", "--bare"]
[INFO] [stdout] 2026-03-30T07:26:57.848170Z TRACE comprehensive: tag2upload_service_manager::gitclone: git init succeeded jid=1 args=["init", "--bare"] stdout="Initialized empty Git repository in /tmp/.tmpFiEtjx/scratch/fetch,gitlab-2,salsa.debian.org,0/package.git/\n"
[INFO] [stdout] 2026-03-30T07:26:57.848284Z DEBUG comprehensive: tag2upload_service_manager::gitclone: git fetch... jid=1 url="file:///tmp/.tmpFiEtjx/dgit-test-dummy.git"
[INFO] [stdout] 2026-03-30T07:26:57.848359Z DEBUG comprehensive: tag2upload_service_manager::http_client: handling url file:///tmp/.tmpFiEtjx/dgit-test-dummy.git via file "/tmp/.tmpFiEtjx/dgit-test-dummy.git"
[INFO] [stdout] 2026-03-30T07:26:57.848423Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["ls-remote", "--refs", "file:///tmp/.tmpFiEtjx/dgit-test-dummy.git", "refs/tags/debian/1.40"]
[INFO] [stdout] 2026-03-30T07:26:57.880902Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ls-remote succeeded jid=1 args=["ls-remote", "--refs", "file:///tmp/.tmpFiEtjx/dgit-test-dummy.git", "refs/tags/debian/1.40"] stdout="7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12\trefs/tags/debian/1.40\n"
[INFO] [stdout] 2026-03-30T07:26:57.881027Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["fetch", "--no-tags", "--progress", "--depth", "1", "file:///tmp/.tmpFiEtjx/dgit-test-dummy.git", "+refs/tags/debian/1.40:refs/tags/debian/1.40"]
[INFO] [stdout] 2026-03-30T07:26:57.931516Z TRACE comprehensive: tag2upload_service_manager::gitclone: git fetch succeeded jid=1 args=["fetch", "--no-tags", "--progress", "--depth", "1", "file:///tmp/.tmpFiEtjx/dgit-test-dummy.git", "+refs/tags/debian/1.40:refs/tags/debian/1.40"] stdout=""
[INFO] [stdout] 2026-03-30T07:26:57.931580Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["rev-parse", "refs/tags/debian/1.40"]
[INFO] [stdout] 2026-03-30T07:26:57.934578Z TRACE comprehensive: tag2upload_service_manager::gitclone: git rev-parse succeeded jid=1 args=["rev-parse", "refs/tags/debian/1.40"] stdout="7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12\n"
[INFO] [stdout] 2026-03-30T07:26:57.934637Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["cat-file", "-t", "refs/tags/debian/1.40"]
[INFO] [stdout] 2026-03-30T07:26:57.936687Z TRACE comprehensive: tag2upload_service_manager::gitclone: git cat-file -t succeeded jid=1 args=["cat-file", "-t", "refs/tags/debian/1.40"] stdout="tag\n"
[INFO] [stdout] 2026-03-30T07:26:57.936739Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["cat-file", "tag", "refs/tags/debian/1.40"]
[INFO] [stdout] 2026-03-30T07:26:57.938854Z TRACE comprehensive: tag2upload_service_manager::gitclone: git cat-file tag succeeded jid=1 args=["cat-file", "tag", "refs/tags/debian/1.40"] stdout="object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"
[INFO] [stdout] 2026-03-30T07:26:57.938928Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["for-each-ref", "--format=%(taggername)%00%(taggeremail:mailmap,trim)%00%(taggerdate:raw)", "[r]efs/tags/debian/1.40"]
[INFO] [stdout] 2026-03-30T07:26:57.941846Z TRACE comprehensive: tag2upload_service_manager::gitclone: git for-each-ref ...taggerdate... succeeded jid=1 args=["for-each-ref", "--format=%(taggername)%00%(taggeremail:mailmap,trim)%00%(taggerdate:raw)", "[r]efs/tags/debian/1.40"] stdout="Ian Jackson\0ijackson@chiark.greenend.org.uk\01725709192 +0100\n"
[INFO] [stdout] 2026-03-30T07:26:57.941924Z DEBUG comprehensive: tag2upload_service_manager::fetcher: fetched tag OK host=salsa.debian.org jid=1
[INFO] [stdout] 2026-03-30T07:26:57.941947Z TRACE comprehensive: tag2upload_service_manager::fetcher: tag fetch work ended host=salsa.debian.org jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET retry_earliest = ?, report_email = ?, tag_data = ?, status = ?, last_update = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Owned(Text("\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>")))
[INFO] [stdout]     Ok(Owned(Text("object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713701)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tag fetched, ready to process"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                             SELECT histent
[INFO] [stdout]                               FROM job_history
[INFO] [stdout]                           ORDER BY histent DESC
[INFO] [stdout]                              LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 5)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.946691Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] updated (fetch) jid=1 now=Queued info="tag fetched, ready to process"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         UPDATE jobs
[INFO] [stdout]                            SET processing = ?
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.952729Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.953172Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] JOB, AFTER FETCH: JobRow {
[INFO] [stdout]     jid: JobId(
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     data: JobData {
[INFO] [stdout]         repo_git_url: RepoGitUrl(
[INFO] [stdout]             "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]         ),
[INFO] [stdout]         tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]         tag_name: TagName(
[INFO] [stdout]             "debian/1.40",
[INFO] [stdout]         ),
[INFO] [stdout]         forge_host: "salsa.debian.org",
[INFO] [stdout]         forge_namever: Namever {
[INFO] [stdout]             kind_name: "gitlab",
[INFO] [stdout]             data_version: 2,
[INFO] [stdout]         },
[INFO] [stdout]         forge_data: "{\"user_id\":193,\"project_id\":36575}",
[INFO] [stdout]         tag_meta: Parsed {
[INFO] [stdout]             source: "dgit-test-dummy",
[INFO] [stdout]             version: "1.40",
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout]     received: TimeT(1725713580 2024-09-07T12:53:00Z),
[INFO] [stdout]     retry_earliest: TreatZeroAsNone(
[INFO] [stdout]         TimeT(0 1970-01-01T00:00:00Z),
[INFO] [stdout]     ),
[INFO] [stdout]     report_email: NoneIsEmpty(
[INFO] [stdout]         Some(
[INFO] [stdout]             EmailAddress {
[INFO] [stdout]                 inner: EmailAddress {
[INFO] [stdout]                     name: Some(
[INFO] [stdout]                         "Ian Jackson",
[INFO] [stdout]                     ),
[INFO] [stdout]                     email: "ijackson@chiark.greenend.org.uk",
[INFO] [stdout]                 },
[INFO] [stdout]                 string: "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>",
[INFO] [stdout]             },
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     tag_data: NoneIsEmpty(
[INFO] [stdout]         Some(
[INFO] [stdout]             "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     s: JobState {
[INFO] [stdout]         status: Queued,
[INFO] [stdout]         last_update: TimeT(1725713701 2024-09-07T12:55:01Z),
[INFO] [stdout]         processing: NoneIsEmpty(
[INFO] [stdout]             None,
[INFO] [stdout]         ),
[INFO] [stdout]         received_via: SpaceSeparated(
[INFO] [stdout]             [
[INFO] [stdout]                 Webhook,
[INFO] [stdout]             ],
[INFO] [stdout]         ),
[INFO] [stdout]         info: "tag fetched, ready to process",
[INFO] [stdout]         emailed: NotYet,
[INFO] [stdout]         duplicate_of: None,
[INFO] [stdout]         retry_salient_count: 1,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] 2026-03-30T07:26:58.208263Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.208918Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.209334Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.209762Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627302)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627302)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Queued"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713701)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712702)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.257762Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>down<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:02Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td colspan=\"9\">\n\t    No workers connected.\n\t  </td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]             SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]              WHERE     status IN (?,?,?)
[INFO] [stdout]           ORDER BY  jid ASC 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.348105Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/queue" => "<html>\n  <head><title>tag2upload build queue</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <b>queue</b> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload build queue</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:00Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:55:01Z</td>\n\t<td>Queued</td>\n\t<td>tag fetched, ready to process</td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "queue.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                           SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                           UNION
[INFO] [stdout]                           SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                         ORDER BY last_update DESC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627302)))
[INFO] [stdout]     Ok(Owned(Integer(1725627302)))
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.423326Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/recent" => "<html>\n  <head><title>tag2upload recent and queued jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <b>recent</b> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload recent and queued jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:00Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:55:01Z</td>\n\t<td>Queued</td>\n\t<td>tag fetched, ready to process</td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n          <p>\n      Recent means jobs touched after 2024-09-06T12:55:02Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "recent.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713701)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712702)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT *
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                   ORDER BY retry_earliest ASC,
[INFO] [stdout]                            retry_count ASC,
[INFO] [stdout]                            repo_project_id ASC
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND true
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("poll")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND status != ? 
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.499647Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/forges" => "<html>\n  <head><title>tag2upload forges</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <b>forges</b> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload forges</h1>\n\n      \n      <h2>salsa.debian.org</h2>\n\n      <dl>\n        <dt>Kind</dt>\n        <dd>gitlab</dd>\n        <dt>Status</dt>\n          \n          <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n      </dl>\n\n      <h3>Job retry control information</h3>\n\n      <table rules=\"all\">\n        <tr>\n          <th>Last job success</th>\n          <td>2024-09-07T12:55:01Z</td>\n        </tr>\n        <tr>\n          <th>Last job falure</th>\n          <td>2024-09-07T12:53:00Z</td>\n        </tr>\n        <tr>\n          <th>Last falure job</th>\n          <td>\n            \n            <a href=\"/job/1\">1</a>\n          </td>\n        </tr>\n      </table>\n\n          <h3>Poll (missed webhook scraper) status</h3>\n\n      <dl>\n        <dt>Project updates discovered upto</dt>\n        <dd>-</dd>\n        <dt>Last polling activity at</dt>\n        <dd>2026-03-30T07:26:55Z</dd>\n        <dt>Last polling report</dt>\n        <dd>\n          \n            ok:\n          \n          making progress\n        </dd>\n        <td>\n          <dt>Queue length</dt>\n          <dd>0</dd>\n        </td>\n      </dl>\n\n    <h3>Jobs found only via poll - possible lost webhook events</h3>\n\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Jobs found only via webhook - possible scraper trouble</h3>\n\n    \n      <p>\n        These jobs have been received by a webhook event,\n        but not (yet) found by scanning the gitlab API.\n        Jobs are supposed to by found both ways, eventually,\n        but the scraper lags, perhaps by many minutes,\n        since it must poll.\n      <p>\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:00Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:55:01Z</td>\n\t<td>Queued</td>\n\t<td>tag fetched, ready to process</td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Queue - repositories that need to be scanned for tags</h3>\n\n     <p>\n     Repositories are scanned multiple timpes,\n     after we see an update, to cope with\n     <a href=\"https://gitlab.com/gitlab-org/gitlab/-/issues/581897\">strange\n     behaviour by Gitlab</a>.\n     <p>\n\n    <table rules=\"all\">\n      <tr>\n\t<th>\"last activity\" (mendacious)</th>\n\t<th>(re)scan aftner</th>\n\t<th>success count</th>\n\t<th>retry count</th>\n\t<th>project id</th>\n\t<th>url</th>\n\t<th>last scan (attempt)</th>\n\t<th>last outcome</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  Queue is empty.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "forges.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]             SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]              WHERE  TRUE 
[INFO] [stdout]           ORDER BY  last_update DESC 
[INFO] [stdout]         
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.595440Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/all-jobs" => "<html>\n  <head><title>tag2upload all jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <b>all jobs</b> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload all jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:00Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:55:01Z</td>\n\t<td>Queued</td>\n\t<td>tag fetched, ready to process</td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n    <p>\n    Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "all-jobs.html"
[INFO] [stdout] 2026-03-30T07:26:58.595983Z TRACE comprehensive: tag2upload_service_manager::global: spawning task o2m connection
[INFO] [stdout] 2026-03-30T07:26:58.596228Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: accepted conn=#1
[INFO] [stdout] 2026-03-30T07:26:58.596269Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #1 > t2u-manager-ready
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627302)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627302)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Queued"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713701)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712702)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.726515Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>down<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:02Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>1</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td>2024-09-07T12:55:02Z</td>\n\t  <td>Init</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.727317Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-03-30T07:26:58.727583Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #1 < t2u-oracle-version 6
[INFO] [stdout] 2026-03-30T07:26:58.727639Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #1 < worker-id testing.example.org testing
[INFO] [stdout] 2026-03-30T07:26:58.727698Z TRACE comprehensive: tag2upload_service_manager::o2m_support: testing.example.org > ayt
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627302)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627302)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Queued"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713701)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712702)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.926405Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>down<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:02Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>testing.example.org</td>\n\t  <td>6</td>\n\t  <td>testing</td>\n\t  <td>2024-09-07T12:55:02Z</td>\n\t  <td>Init</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.930144Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-03-30T07:26:58.930371Z TRACE comprehensive: tag2upload_service_manager::o2m_support: testing.example.org < ack
[INFO] [stdout] 2026-03-30T07:26:58.930470Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [testing.example.org] build: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2026-03-30T07:26:58.930597Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [testing.example.org] build: for fidelity=testing
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE TRUE
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (jid IN ())
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:58.930898Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [testing.example.org] build: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:58.931071Z DEBUG comprehensive: tag2upload_service_manager::test::t_comprehensive: OK, testing worker got no job
[INFO] [stdout] 2026-03-30T07:26:58.931213Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: ended conn=testing.example.org error=oracle disconnected
[INFO] [stdout] 2026-03-30T07:26:58.931319Z TRACE comprehensive: tag2upload_service_manager::global: spawning task o2m connection
[INFO] [stdout] 2026-03-30T07:26:58.931428Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: accepted conn=#2
[INFO] [stdout] 2026-03-30T07:26:58.931465Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #2 > t2u-manager-ready
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627303)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627303)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Queued"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713701)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712703)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:59.207661Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>down<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:03Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>testing.example.org</td>\n\t  <td>6</td>\n\t  <td>testing</td>\n\t  <td>2024-09-07T12:55:02Z</td>\n\t  <td>Disconnected</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n\t<tr>\n\t  <td>2</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td>2024-09-07T12:55:02Z</td>\n\t  <td>Init</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:59.208399Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-03-30T07:26:59.215681Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #2 < t2u-oracle-version 6
[INFO] [stdout] 2026-03-30T07:26:59.215774Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #2 < worker-id worker.example.org production
[INFO] [stdout] 2026-03-30T07:26:59.215847Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org > ayt
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627303)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627303)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Queued"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713701)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712703)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:59.624037Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>down<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:03Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>testing.example.org</td>\n\t  <td>6</td>\n\t  <td>testing</td>\n\t  <td>2024-09-07T12:55:02Z</td>\n\t  <td>Disconnected</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n\t<tr>\n\t  <td>worker.example.org</td>\n\t  <td>6</td>\n\t  <td>production</td>\n\t  <td>2024-09-07T12:55:03Z</td>\n\t  <td>Init</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:59.624912Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-03-30T07:26:59.625203Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < ack
[INFO] [stdout] 2026-03-30T07:26:59.625308Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [worker.example.org] build: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE TRUE
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] 2026-03-30T07:26:59.629713Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent ASC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent DESC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-03-30T07:26:59.630183Z TRACE comprehensive: tag2upload_service_manager::retry: job-specific calculation first_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713580 2024-09-07T12:53:00Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } } previous_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713580 2024-09-07T12:53:00Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } }
[INFO] [stdout] 2026-03-30T07:26:59.630251Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Attempt(AttemptInfo { is_salient: Some(IsSalient), is_final: Ok(()) })
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713703)))
[INFO] [stdout]     Ok(Owned(Text("build")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("selected for build [worker.example.org]"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713703), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "selected for build [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:59.645573Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [worker.example.org] found (build) jid=1 now=Queued info="selected for build [worker.example.org]" attempt_info=[Sr]
[INFO] [stdout] 2026-03-30T07:26:59.645658Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org > ayt
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627304)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627304)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Queued"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713701)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712704)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713703), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "selected for build [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.036440Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>degraded<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    1 busy /\n\t    1 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:04Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>testing.example.org</td>\n\t  <td>6</td>\n\t  <td>testing</td>\n\t  <td>2024-09-07T12:55:02Z</td>\n\t  <td>Disconnected</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n\t<tr>\n\t  <td>worker.example.org</td>\n\t  <td>6</td>\n\t  <td>production</td>\n\t  <td>2024-09-07T12:55:03Z</td>\n\t  <td>Selected</td>\n\t  <td>dgit-test-dummy</td>\n\t  <td>1.40</td>\n\t  <td>Queued</td>\n\t  <td>selected for build [worker.example.org]</td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713703), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "selected for build [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.039141Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-03-30T07:27:00.039323Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < ack
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713704)))
[INFO] [stdout]     Ok(Owned(Text("build")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("building [worker.example.org]"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Building"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.048565Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [worker.example.org] updated (build) jid=1 now=Building info="building [worker.example.org]"
[INFO] [stdout] 2026-03-30T07:27:00.048635Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org > job 1 not-last-attempt dgit-test-dummy https://salsa.debian.org/dgit-team/dgit-test-dummy.git
[INFO] [stdout] 2026-03-30T07:27:00.048671Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org >...
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627304)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627304)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Building"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713701)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712704)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Building"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.444009Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>degraded<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    1 busy /\n\t    1 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:04Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>testing.example.org</td>\n\t  <td>6</td>\n\t  <td>testing</td>\n\t  <td>2024-09-07T12:55:02Z</td>\n\t  <td>Disconnected</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n\t<tr>\n\t  <td>worker.example.org</td>\n\t  <td>6</td>\n\t  <td>production</td>\n\t  <td>2024-09-07T12:55:04Z</td>\n\t  <td>Gathering</td>\n\t  <td>dgit-test-dummy</td>\n\t  <td>1.40</td>\n\t  <td>Building</td>\n\t  <td>building [worker.example.org]</td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] 2026-03-30T07:27:00.444393Z DEBUG comprehensive: tag2upload_service_manager::test::t_test_ctx: n_ayts=2 "job 1 not-last-attempt dgit-test-dummy https://salsa.debian.org/dgit-team/dgit-test-dummy.git"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Building"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Building"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.453210Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=Some(JobRow { jid: JobId(1), data: JobData { repo_git_url: RepoGitUrl("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12", tag_name: TagName("debian/1.40"), forge_host: "salsa.debian.org", forge_namever: Namever { kind_name: "gitlab", data_version: 2 }, forge_data: "{\"user_id\":193,\"project_id\":36575}", tag_meta: Parsed { source: "dgit-test-dummy", version: "1.40" } }, received: TimeT(1725713580 2024-09-07T12:53:00Z), retry_earliest: TreatZeroAsNone(TimeT(0 1970-01-01T00:00:00Z)), report_email: NoneIsEmpty(Some(EmailAddress { inner: EmailAddress { name: Some("Ian Jackson"), email: "ijackson@chiark.greenend.org.uk" }, string: "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>" })), tag_data: NoneIsEmpty(Some("object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n")), s: JobState { status: Building, last_update: TimeT(1725713704 2024-09-07T12:55:04Z), processing: NoneIsEmpty(Some("build")), received_via: SpaceSeparated([Webhook]), info: "building [worker.example.org]", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } })
[INFO] [stdout] 2026-03-30T07:27:00.453303Z DEBUG comprehensive: tag2upload_service_manager::test::t_comprehensive: l=811
[INFO] [stdout] 2026-03-30T07:27:00.453569Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < commit-to-public-upload
[INFO] [stdout] 2026-03-30T07:27:00.453652Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org > go-ahead
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Building"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Building"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.454213Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=Some(JobRow { jid: JobId(1), data: JobData { repo_git_url: RepoGitUrl("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12", tag_name: TagName("debian/1.40"), forge_host: "salsa.debian.org", forge_namever: Namever { kind_name: "gitlab", data_version: 2 }, forge_data: "{\"user_id\":193,\"project_id\":36575}", tag_meta: Parsed { source: "dgit-test-dummy", version: "1.40" } }, received: TimeT(1725713580 2024-09-07T12:53:00Z), retry_earliest: TreatZeroAsNone(TimeT(0 1970-01-01T00:00:00Z)), report_email: NoneIsEmpty(Some(EmailAddress { inner: EmailAddress { name: Some("Ian Jackson"), email: "ijackson@chiark.greenend.org.uk" }, string: "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>" })), tag_data: NoneIsEmpty(Some("object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n")), s: JobState { status: Building, last_update: TimeT(1725713704 2024-09-07T12:55:04Z), processing: NoneIsEmpty(Some("build")), received_via: SpaceSeparated([Webhook]), info: "building [worker.example.org]", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } })
[INFO] [stdout] 2026-03-30T07:27:00.454329Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < message Tested OK!
[INFO] [stdout] 2026-03-30T07:27:00.454369Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < email reported
[INFO] [stdout] 2026-03-30T07:27:00.454394Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < uploaded
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET retry_earliest = ?, status = ?, last_update = ?, processing = ?, info = ?, emailed = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713704)))
[INFO] [stdout]     Ok(Owned(Text("build")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("uploaded [worker.example.org]: Tested OK!"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sent"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                             SELECT histent
[INFO] [stdout]                               FROM job_history
[INFO] [stdout]                           ORDER BY histent DESC
[INFO] [stdout]                              LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 9)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.473566Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [worker.example.org] updated (build) jid=1 now=Uploaded info="uploaded [worker.example.org]: Tested OK!"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         UPDATE jobs
[INFO] [stdout]                            SET processing = ?
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("build")))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "status": (Text, "Uploaded")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, info = ?, duplicate_of = ?
[INFO] [stdout]                  WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                    AND status IN (?,?)
[INFO] [stdout]              RETURNING jobs.jid AS updated_jid,
[INFO] [stdout]                        status,
[INFO] [stdout]                        duplicate_of
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713704)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(""))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.486476Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org > ayt
[INFO] [stdout] 2026-03-30T07:27:00.486637Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.487102Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:27:00.487170Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.487587Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.487965Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.488328Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627304)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627304)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(9)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713704)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712704)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:00.832284Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>degraded<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    1 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:04Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>testing.example.org</td>\n\t  <td>6</td>\n\t  <td>testing</td>\n\t  <td>2024-09-07T12:55:02Z</td>\n\t  <td>Disconnected</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n\t<tr>\n\t  <td>worker.example.org</td>\n\t  <td>6</td>\n\t  <td>production</td>\n\t  <td>2024-09-07T12:55:04Z</td>\n\t  <td>Idle</td>\n\t  <td>dgit-test-dummy</td>\n\t  <td>1.40</td>\n\t  <td>Uploaded</td>\n\t  <td>uploaded [worker.example.org]: Tested OK!</td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                           SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                           UNION
[INFO] [stdout]                           SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                         ORDER BY last_update DESC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:01.566035Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/recent" => "<html>\n  <head><title>tag2upload recent and queued jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <b>recent</b> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload recent and queued jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:00Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:55:04Z</td>\n\t<td>Uploaded</td>\n\t<td>uploaded [worker.example.org]: Tested OK!</td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n          <p>\n      Recent means jobs touched after 2024-09-06T12:55:05Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "recent.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:01.578754Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] bsql text: SELECT * FROM jobs WHERE jid=? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] 2026-03-30T07:27:01.579049Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: job=Some(JobRow { jid: JobId(1), data: JobData { repo_git_url: RepoGitUrl("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12", tag_name: TagName("debian/1.40"), forge_host: "salsa.debian.org", forge_namever: Namever { kind_name: "gitlab", data_version: 2 }, forge_data: "{\"user_id\":193,\"project_id\":36575}", tag_meta: Parsed { source: "dgit-test-dummy", version: "1.40" } }, received: TimeT(1725713580 2024-09-07T12:53:00Z), retry_earliest: TreatZeroAsNone(TimeT(0 1970-01-01T00:00:00Z)), report_email: NoneIsEmpty(Some(EmailAddress { inner: EmailAddress { name: Some("Ian Jackson"), email: "ijackson@chiark.greenend.org.uk" }, string: "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>" })), tag_data: NoneIsEmpty(Some("object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n")), s: JobState { status: Uploaded, last_update: TimeT(1725713704 2024-09-07T12:55:04Z), processing: NoneIsEmpty(None), received_via: SpaceSeparated([Webhook]), info: "uploaded [worker.example.org]: Tested OK!", emailed: Sent, duplicate_of: None, retry_salient_count: 1 } })
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs WHERE jid = ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                          FROM job_history
[INFO] [stdout]                         WHERE jid = ? 
[INFO] [stdout]                      ORDER BY histent ASC
[INFO] [stdout]            
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 1), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 0), "duplicate_of": (Null, ()), "processing": (Text, ""), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 2), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 0), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 4), "jid": (Integer, 1), "last_update": (Integer, 1725713580), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, ""), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 5), "jid": (Integer, 1), "last_update": (Integer, 1725713701), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 6), "jid": (Integer, 1), "last_update": (Integer, 1725713701), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Queued"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 7), "jid": (Integer, 1), "last_update": (Integer, 1725713701), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Queued"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, ""), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 8), "jid": (Integer, 1), "last_update": (Integer, 1725713703), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Queued"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "build"), "info": (Text, "selected for build [worker.example.org]")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 9), "jid": (Integer, 1), "last_update": (Integer, 1725713704), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Building"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "build"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 10), "jid": (Integer, 1), "last_update": (Integer, 1725713704), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "status": (Text, "Uploaded"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "build"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:02.165913Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/job/1" => "<html>\n  <head><title>tag2upload job 1</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload job 1</h1>\n\n    <h2>Details</h2>\n\n      <table rules=\"all\">\n\t<tr>\n          <th>job</th>\n          <td>1</td>\n        </tr>\n\t<tr>\n          <th>received</th>\n          <td>2024-09-07T12:53:00Z</td>\n        </tr>\n\t<tr>\n          <th>received via</th>\n          <td>webhook</td>\n        </tr>\n\t<tr>\n          <th>source</th>\n          <td>dgit-test-dummy</td>\n        </tr>\n\t<tr>\n          <th>version</th>\n          <td>1.40</td>\n        </tr>\n\t<tr>\n          <th>url</th>\n          <td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n        </tr>\n\t<tr>\n          <th>forge host</th>\n          <td>salsa.debian.org</td>\n        </tr>\n\t<tr>\n          <th>tag name</th>\n          <td>debian&#x2F;1.40</td>\n        </tr>\n\t<tr>\n          <th>tag objectid</th>\n          <td>7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12</td>\n        </tr>\n      </table>\n\n    <h2>Current state</h2>\n\n      <table rules=\"all\">\n\t<tr>\n          <th>last_update</th>\n          <td>2024-09-07T12:55:04Z</td>\n        </tr>\n\t<tr>\n          <th>status</th>\n          <td>Uploaded</td>\n        </tr>\n\t<tr>\n          <th>info</th>\n          <td>uploaded [worker.example.org]: Tested OK!</td>\n        </tr>\n\t<tr>\n          <th>processing</th>\n          <td></td>\n        </tr>\n\t<tr>\n          <th>email report?</th>\n          <td>Sent</td>\n        </tr>\n\t<tr>\n          <th>no. of salient retries</th>\n          <td>1</td>\n        </tr>\n\t<tr>\n          <th>will retry at (not before)</th>\n          <td></td>\n        </tr>\n\t<tr>\n          <th>dupe of</th>\n          <td></td>\n        </tr>\n      </table>\n\n      <h2>History</h2>\n\n      <table rules=\"all\">\n        <tr>\n          <th>timestamp</th>\n          <th>status</th>\n          <th>info</th>\n          <th>received via</th>\n          <th>processing</th>\n          <th>email</th>\n          <th>dupe of</th>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:00Z</td>\n          <td>Noticed</td>\n          <td>job received, tag not yet fetched</td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:00Z</td>\n          <td>Noticed</td>\n          <td>fetching tag from forge</td>\n          <td>webhook</td>\n          <td>fetch</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:00Z</td>\n          <td>Noticed</td>\n          <td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n          <td>webhook</td>\n          <td>tempfail</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:00Z</td>\n          <td>Noticed</td>\n          <td> &quot;  &quot; </td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:01Z</td>\n          <td>Noticed</td>\n          <td>fetching tag from forge</td>\n          <td>webhook</td>\n          <td>fetch</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:01Z</td>\n          <td>Queued</td>\n          <td>tag fetched, ready to process</td>\n          <td>webhook</td>\n          <td>fetch</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:01Z</td>\n          <td>Queued</td>\n          <td> &quot;  &quot; </td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:03Z</td>\n          <td>Queued</td>\n          <td>selected for build [worker.example.org]</td>\n          <td>webhook</td>\n          <td>build</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:04Z</td>\n          <td>Building</td>\n          <td>building [worker.example.org]</td>\n          <td>webhook</td>\n          <td>build</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:04Z</td>\n          <td>Uploaded</td>\n          <td>uploaded [worker.example.org]: Tested OK!</td>\n          <td>webhook</td>\n          <td>build</td>\n          <td>Sent</td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:04Z</td>\n          <td>Uploaded</td>\n          <td> &quot;  &quot; </td>\n          <td>webhook</td>\n          <td></td>\n          <td>Sent</td>\n          <td></td>\n        </tr>\n      \n      </table>\n\n      <p>\n      (Certain older history entries are not shown.)\n\n      \n      <h2>Tag object</h2>\n          <pre>object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian&#x2F;1.40\ntagger Ian Jackson &lt;ijackson@chiark.greenend.org.uk&gt; 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf&#x2F;Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n&#x2F;mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy&#x2F;sZnUd&#x2F;1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp&#x2F;2OkxT3iYmFjTrobOJTlmg3WRGCwqzA&#x2F;aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n\n</pre>\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "job.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]         INSERT INTO jobs VALUES (
[INFO] [stdout]             NULL, -- jid
[INFO] [stdout]             'url with < funny stuff',
[INFO] [stdout]             ? ,
[INFO] [stdout]             'ef134a489497286e73c7c975d8ad434e804366a9', -- s. checked on q.
[INFO] [stdout]             'host.example.net', -- syntax checked on query
[INFO] [stdout]             'noforge-3',
[INFO] [stdout]             'forge data not json',
[INFO] [stdout]             'source-package', -- syntax checked on query
[INFO] [stdout]             '1.2.3', -- version, syntax checked on query
[INFO] [stdout]             1342761775, -- received
[INFO] [stdout]             1442761775, -- last update
[INFO] [stdout]             0, -- retry_earliest
[INFO] [stdout]             0, -- retry_salient_count
[INFO] [stdout]             '', -- report_email
[INFO] [stdout]             ? , -- tag_data
[INFO] [stdout]             'Irrecoverable',
[INFO] [stdout]             NULL, -- duplicate_of
[INFO] [stdout]             'processing < badly',
[INFO] [stdout]             'webhook webhook', -- received_via
[INFO] [stdout]             'NotYet', -- emailed
[INFO] [stdout]             'info < is < wrong'
[INFO] [stdout]         )
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("not-for-us/1 < 2"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tag something\n\nbad data < in < body\n"))))
[INFO] [stdout]     bsql_insert rowid 2
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "url with < funny stuff"), "tag_name": (Text, "not-for-us/1 < 2"), "tag_objectid": (Text, "ef134a489497286e73c7c975d8ad434e804366a9"), "forge_host": (Text, "host.example.net"), "forge_namever": (Text, "noforge-3"), "forge_data": (Text, "forge data not json"), "source": (Text, "source-package"), "version": (Text, "1.2.3"), "received": (Integer, 1342761775), "last_update": (Integer, 1442761775), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "tag something\n\nbad data < in < body\n"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, "processing < badly"), "received_via": (Text, "webhook webhook"), "emailed": (Text, "NotYet"), "info": (Text, "info < is < wrong")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]             SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]              WHERE  TRUE 
[INFO] [stdout]           ORDER BY  last_update DESC 
[INFO] [stdout]         
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "url with < funny stuff"), "tag_name": (Text, "not-for-us/1 < 2"), "tag_objectid": (Text, "ef134a489497286e73c7c975d8ad434e804366a9"), "forge_host": (Text, "host.example.net"), "forge_namever": (Text, "noforge-3"), "forge_data": (Text, "forge data not json"), "source": (Text, "source-package"), "version": (Text, "1.2.3"), "received": (Integer, 1342761775), "last_update": (Integer, 1442761775), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "tag something\n\nbad data < in < body\n"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, "processing < badly"), "received_via": (Text, "webhook webhook"), "emailed": (Text, "NotYet"), "info": (Text, "info < is < wrong"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "url with < funny stuff"), "tag_name": (Text, "not-for-us/1 < 2"), "tag_objectid": (Text, "ef134a489497286e73c7c975d8ad434e804366a9"), "forge_host": (Text, "host.example.net"), "forge_namever": (Text, "noforge-3"), "forge_data": (Text, "forge data not json"), "source": (Text, "source-package"), "version": (Text, "1.2.3"), "received": (Integer, 1342761775), "last_update": (Integer, 1442761775), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "tag something\n\nbad data < in < body\n"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, "processing < badly"), "received_via": (Text, "webhook webhook"), "emailed": (Text, "NotYet"), "info": (Text, "info < is < wrong")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:02.329644Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/all-jobs" => "<html>\n  <head><title>tag2upload all jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <b>all jobs</b> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload all jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:00Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:55:04Z</td>\n\t<td>Uploaded</td>\n\t<td>uploaded [worker.example.org]: Tested OK!</td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/2\">2</a></td>\n\t<td>2012-07-20T05:22:55Z</td>\n\t<td>source-package</td>\n\t<td>1.2.3</td>\n\t<td>url with &lt; funny stuff</td>\n\t<td>2015-09-20T15:09:35Z</td>\n\t<td>Irrecoverable</td>\n\t<td>info &lt; is &lt; wrong</td>\n\t<td>processing &lt; badly</td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n    <p>\n    Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "all-jobs.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs WHERE jid = ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 2), "repo_git_url": (Text, "url with < funny stuff"), "tag_name": (Text, "not-for-us/1 < 2"), "tag_objectid": (Text, "ef134a489497286e73c7c975d8ad434e804366a9"), "forge_host": (Text, "host.example.net"), "forge_namever": (Text, "noforge-3"), "forge_data": (Text, "forge data not json"), "source": (Text, "source-package"), "version": (Text, "1.2.3"), "received": (Integer, 1342761775), "last_update": (Integer, 1442761775), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "tag something\n\nbad data < in < body\n"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, "processing < badly"), "received_via": (Text, "webhook webhook"), "emailed": (Text, "NotYet"), "info": (Text, "info < is < wrong"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                          FROM job_history
[INFO] [stdout]                         WHERE jid = ? 
[INFO] [stdout]                      ORDER BY histent ASC
[INFO] [stdout]            
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "url with < funny stuff"), "tag_name": (Text, "not-for-us/1 < 2"), "tag_objectid": (Text, "ef134a489497286e73c7c975d8ad434e804366a9"), "forge_host": (Text, "host.example.net"), "forge_namever": (Text, "noforge-3"), "forge_data": (Text, "forge data not json"), "source": (Text, "source-package"), "version": (Text, "1.2.3"), "received": (Integer, 1342761775), "last_update": (Integer, 1442761775), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "tag something\n\nbad data < in < body\n"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, "processing < badly"), "received_via": (Text, "webhook webhook"), "emailed": (Text, "NotYet"), "info": (Text, "info < is < wrong")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] {"history":[{"duplicate_of":null,"emailed":"","info":"info < is < wrong","last_update":"2015-09-20T15:09:35Z","processing":"processing < badly","received_via":"webhook webhook","retry_salient_count":0,"status":"Irrecoverable"}],"j":{"duplicate_of":null,"duplicate_of_found":false,"emailed":"","forge_host":"host.example.net","forge_namever":"noforge-3","info":"info < is < wrong","jid":2,"last_update":"2015-09-20T15:09:35Z","processing":"processing < badly","received":"2012-07-20T05:22:55Z","received_via":"webhook webhook","repo_git_url":"url with < funny stuff","retry_earliest":null,"retry_salient_count":0,"source":"source-package","status":"Irrecoverable","tag_name":"not-for-us/1 < 2","tag_objectid":"ef134a489497286e73c7c975d8ad434e804366a9","version":"1.2.3"},"t2usm_version":"debug","tag_object":"tag something\n\nbad data < in < body\n"}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         DELETE FROM jobs WHERE tag_name = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("not-for-us/1 < 2"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:02.622383Z DEBUG comprehensive: tag2upload_service_manager::ui_routes: from 127.0.0.1: error 404: path="/no-such-page"
[INFO] [stdout] 2026-03-30T07:27:02.624025Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/no-such-page" => "<html>\n  <head><title>404 Not Found</title></head>\n  <body>\n    <strong>404 Not Found</strong>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "error.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]             DELETE FROM last_expiry
[INFO] [stdout]         
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]             INSERT INTO last_expiry (run,threshold) VALUES (?,?)
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1725713706)))
[INFO] [stdout]     Ok(Owned(Integer(1722948906)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text:  SELECT * FROM jobs
[INFO] [stdout]                           WHERE last_update < ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1722948906)))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:02.628081Z  INFO comprehensive: tag2upload_service_manager::expire: nothing expired n_expired=0 oldest_to_keep=2024-08-06T12:55:06Z
[INFO] [stdout] bsql text: SELECT * FROM jobs WHERE jid=? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] 2026-03-30T07:27:02.628493Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: job=Some(JobRow { jid: JobId(1), data: JobData { repo_git_url: RepoGitUrl("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12", tag_name: TagName("debian/1.40"), forge_host: "salsa.debian.org", forge_namever: Namever { kind_name: "gitlab", data_version: 2 }, forge_data: "{\"user_id\":193,\"project_id\":36575}", tag_meta: Parsed { source: "dgit-test-dummy", version: "1.40" } }, received: TimeT(1725713580 2024-09-07T12:53:00Z), retry_earliest: TreatZeroAsNone(TimeT(0 1970-01-01T00:00:00Z)), report_email: NoneIsEmpty(Some(EmailAddress { inner: EmailAddress { name: Some("Ian Jackson"), email: "ijackson@chiark.greenend.org.uk" }, string: "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>" })), tag_data: NoneIsEmpty(Some("object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n")), s: JobState { status: Uploaded, last_update: TimeT(1725713704 2024-09-07T12:55:04Z), processing: NoneIsEmpty(None), received_via: SpaceSeparated([Webhook]), info: "uploaded [worker.example.org]: Tested OK!", emailed: Sent, duplicate_of: None, retry_salient_count: 1 } })
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:02.628754Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:55:06.628749144Z when=before advance
[INFO] [stdout] 2026-03-30T07:27:02.628799Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-10-09T13:11:46.628798194Z when=after advance
[INFO] [stdout] bsql text: 
[INFO] [stdout]             DELETE FROM last_expiry
[INFO] [stdout]         
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]             INSERT INTO last_expiry (run,threshold) VALUES (?,?)
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1728479506)))
[INFO] [stdout]     Ok(Owned(Integer(1725714706)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text:  SELECT * FROM jobs
[INFO] [stdout]                           WHERE last_update < ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1725714706)))
[INFO] [stdout] bsql text: DELETE FROM job_history WHERE jid = ? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 10
[INFO] [stdout] bsql text: DELETE FROM jobs WHERE jid = ? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                              UPDATE stats_by_shown_status_expired
[INFO] [stdout]                                 SET n_jobs = n_jobs + ? 
[INFO] [stdout]                               WHERE shown_status = ? 
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:02.638170Z  INFO comprehensive: tag2upload_service_manager::expire: expired n_expired=1 oldest_to_keep=2024-09-07T13:11:46Z archive="expired-2024-10-09T13:11:46Z.dump.txt"
[INFO] [stdout] bsql text: SELECT * FROM jobs WHERE jid=? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout] 2026-03-30T07:27:02.638377Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: job=None
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]             DELETE FROM last_expiry
[INFO] [stdout]         
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]             INSERT INTO last_expiry (run,threshold) VALUES (?,?)
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1728479506)))
[INFO] [stdout]     Ok(Owned(Integer(1725714706)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text:  SELECT * FROM jobs
[INFO] [stdout]                           WHERE last_update < ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1725714706)))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:02.750084Z  INFO comprehensive: tag2upload_service_manager::expire: nothing expired n_expired=0 oldest_to_keep=2024-09-07T13:11:46Z
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1728393106)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1728393106)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout]     bsql_query_01 row {"run": (Integer, 1728479506), "threshold": (Integer, 1725714706)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(9)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1728478506)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:02.755999Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>degraded<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    1 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>job failure at 2024-09-07T12:53:00Z; job 1</li>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-10-08T13:11:46Z.\n      Jobs last touched before 2024-09-07T13:11:46Z\nhave been archived.\n\n      Last archival run was 2024-10-09T13:11:46Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>worker.example.org</td>\n\t  <td>6</td>\n\t  <td>production</td>\n\t  <td>2024-09-07T12:55:04Z</td>\n\t  <td>Idle</td>\n\t  <td>dgit-test-dummy</td>\n\t  <td>1.40</td>\n\t  <td>Uploaded</td>\n\t  <td>uploaded [worker.example.org]: Tested OK!</td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] 2026-03-30T07:27:02.756554Z DEBUG comprehensive: tag2upload_service_manager::utils: cmd="sqlite3" "-batch" "/tmp/.tmpFiEtjx/expired-reload.db"
[INFO] [stdout] bsql text: SELECT * FROM jobs
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:27:02.768774Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-03-30T07:27:02.768914Z DEBUG comprehensive: tag2upload_service_manager::utils: cmd="weblint" "--context" "--" "/tmp/.tmpFiEtjx/rendered/toplevel-0.html" "/tmp/.tmpFiEtjx/rendered/toplevel-1.html" "/tmp/.tmpFiEtjx/rendered/toplevel-2.html" "/tmp/.tmpFiEtjx/rendered/toplevel-3.html" "/tmp/.tmpFiEtjx/rendered/toplevel-4.html" "/tmp/.tmpFiEtjx/rendered/toplevel-5.html" "/tmp/.tmpFiEtjx/rendered/toplevel-6.html" "/tmp/.tmpFiEtjx/rendered/toplevel-7.html" "/tmp/.tmpFiEtjx/rendered/toplevel-8.html" "/tmp/.tmpFiEtjx/rendered/toplevel-9.html" "/tmp/.tmpFiEtjx/rendered/recent-0.html" "/tmp/.tmpFiEtjx/rendered/recent-1.html" "/tmp/.tmpFiEtjx/rendered/recent-2.html" "/tmp/.tmpFiEtjx/rendered/forges-0.html" "/tmp/.tmpFiEtjx/rendered/forges-1.html" "/tmp/.tmpFiEtjx/rendered/forges-2.html" "/tmp/.tmpFiEtjx/rendered/forges-3.html" "/tmp/.tmpFiEtjx/rendered/job-0.html" "/tmp/.tmpFiEtjx/rendered/job-1.html" "/tmp/.tmpFiEtjx/rendered/job-2.html" "/tmp/.tmpFiEtjx/rendered/all-jobs-0.html" "/tmp/.tmpFiEtjx/rendered/all-jobs-1.html" "/tmp/.tmpFiEtjx/rendered/queue-0.html" "/tmp/.tmpFiEtjx/rendered/error-0.html"
[INFO] [stdout] 
[INFO] [stdout] thread 'test::t_comprehensive::comprehensive' (185) panicked at src/test/t_tera.rs:157:18:
[INFO] [stdout] error: anyhow::Error - run: No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5608ef23bb8a - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5608ef23bb8a - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5608ef2582ba - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5608ef2582ba - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5608ef242e42 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5608ef242e42 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5608ef215ebf - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5608ef215ebf - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5608ef231ea9 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5608ee078ecc - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5608ee078ecc - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5608ef232122 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5608ef232122 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5608ef215f78 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5608ef20cfe9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5608ef216ffd - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5608ef258b2c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5608edd66485 - <testresult[2e00af7b44cd1c97]::TestError as core[786f478f706679df]::convert::From<anyhow[b0e5fb41720e41af]::Error>>::from
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/testresult-0.4.1/src/lib.rs:24:9
[INFO] [stdout]   20:     0x5608eda23f83 - <core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError> as core[786f478f706679df]::ops::try_trait::FromResidual<core[786f478f706679df]::result::Result<core[786f478f706679df]::convert::Infallible, anyhow[b0e5fb41720e41af]::Error>>>::from_residual
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/result.rs:2189:27
[INFO] [stdout]   21:     0x5608edfce999 - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_tera::t_run_weblint
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_tera.rs:157:18
[INFO] [stdout]   22:     0x5608edd10fba - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_comprehensive.rs:332:5
[INFO] [stdout]   23:     0x5608edddeadb - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test::<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:63:17
[INFO] [stdout]   24:     0x5608edfdc1bd - <core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>> as core[786f478f706679df]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]   25:     0x5608ed7369f8 - <tokio[ced60f391706bb4d]::runtime::task::core::Core<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>>::poll::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/core.rs:374:24
[INFO] [stdout]   26:     0x5608ed7c4138 - <tokio[ced60f391706bb4d]::loom::std::unsafe_cell::UnsafeCell<tokio[ced60f391706bb4d]::runtime::task::core::Stage<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>>>>::with_mut::<core[786f478f706679df]::task::poll::Poll<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>, <tokio[ced60f391706bb4d]::runtime::task::core::Core<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>>::poll::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/loom/std/unsafe_cell.rs:16:9
[INFO] [stdout]   27:     0x5608ed7c4138 - <tokio[ced60f391706bb4d]::runtime::task::core::Core<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>>::poll
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/core.rs:363:30
[INFO] [stdout]   28:     0x5608ed66e95a - tokio[ced60f391706bb4d]::runtime::task::harness::poll_future::<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:535:30
[INFO] [stdout]   29:     0x5608ed8fcf70 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<tokio[ced60f391706bb4d]::runtime::task::harness::poll_future<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   30:     0x5608eda49c0e - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<tokio[ced60f391706bb4d]::runtime::task::harness::poll_future<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>::{closure#0}>, core[786f478f706679df]::task::poll::Poll<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   31:     0x5608ed71ef7b - __rust_try
[INFO] [stdout]   32:     0x5608ed6fbf23 - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::task::poll::Poll<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<tokio[ced60f391706bb4d]::runtime::task::harness::poll_future<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x5608ed6fbf23 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<tokio[ced60f391706bb4d]::runtime::task::harness::poll_future<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>::{closure#0}>, core[786f478f706679df]::task::poll::Poll<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5608ed65199f - tokio[ced60f391706bb4d]::runtime::task::harness::poll_future::<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:523:18
[INFO] [stdout]   35:     0x5608ed6afda2 - <tokio[ced60f391706bb4d]::runtime::task::harness::Harness<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>>::poll_inner
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:210:27
[INFO] [stdout]   36:     0x5608ed6b0043 - <tokio[ced60f391706bb4d]::runtime::task::harness::Harness<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>>::poll
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:155:20
[INFO] [stdout]   37:     0x5608edaf29bb - tokio[ced60f391706bb4d]::runtime::task::raw::poll::<core[786f478f706679df]::pin::Pin<alloc[64763625b5a07cdb]::boxed::Box<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/raw.rs:337:13
[INFO] [stdout]   38:     0x5608ef157917 - <tokio[ced60f391706bb4d]::runtime::task::raw::RawTask>::poll
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/raw.rs:267:18
[INFO] [stdout]   39:     0x5608eec92162 - <tokio[ced60f391706bb4d]::runtime::task::LocalNotified<alloc[64763625b5a07cdb]::sync::Arc<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Handle>>>::run
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/mod.rs:515:13
[INFO] [stdout]   40:     0x5608edde3a8b - <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}::{closure#1}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:800:30
[INFO] [stdout]   41:     0x5608eddd1115 - tokio[ced60f391706bb4d]::task::coop::with_budget::<(), <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}::{closure#1}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   42:     0x5608eddd1115 - tokio[ced60f391706bb4d]::task::coop::budget::<(), <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}::{closure#1}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   43:     0x5608eddd1115 - <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Context>::run_task::<(), <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}::{closure#1}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:368:43
[INFO] [stdout]   44:     0x5608edd90f16 - <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Context>::enter::<(), <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Context>::run_task<(), <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}::{closure#1}>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:442:19
[INFO] [stdout]   45:     0x5608edd9162c - <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Context>::run_task::<(), <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}::{closure#1}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:368:28
[INFO] [stdout]   46:     0x5608eddd93b0 - <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:796:43
[INFO] [stdout]   47:     0x5608eddd65cb - <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:68
[INFO] [stdout]   48:     0x5608ed7efdea - <tokio[ced60f391706bb4d]::runtime::context::scoped::Scoped<tokio[ced60f391706bb4d]::runtime::scheduler::Context>>::set::<<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>>::{closure#0}, (alloc[64763625b5a07cdb]::boxed::Box<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Core>, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   49:     0x5608edfadfaa - tokio[ced60f391706bb4d]::runtime::context::set_scheduler::<(alloc[64763625b5a07cdb]::boxed::Box<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Core>, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>), <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38
[INFO] [stdout]   50:     0x5608edaabac2 - <std[f92b4c606f291077]::thread::local::LocalKey<tokio[ced60f391706bb4d]::runtime::context::Context>>::try_with::<tokio[ced60f391706bb4d]::runtime::context::set_scheduler<(alloc[64763625b5a07cdb]::boxed::Box<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Core>, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>), <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>>::{closure#0}>::{closure#0}, (alloc[64763625b5a07cdb]::boxed::Box<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Core>, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>)>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   51:     0x5608edaaae1c - <std[f92b4c606f291077]::thread::local::LocalKey<tokio[ced60f391706bb4d]::runtime::context::Context>>::with::<tokio[ced60f391706bb4d]::runtime::context::set_scheduler<(alloc[64763625b5a07cdb]::boxed::Box<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Core>, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>), <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>>::{closure#0}>::{closure#0}, (alloc[64763625b5a07cdb]::boxed::Box<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Core>, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>)>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   52:     0x5608edf10b61 - tokio[ced60f391706bb4d]::runtime::context::set_scheduler::<(alloc[64763625b5a07cdb]::boxed::Box<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::Core>, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>), <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17
[INFO] [stdout]   53:     0x5608eddbb57e - <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>::{closure#0}, core[786f478f706679df]::option::Option<core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:27
[INFO] [stdout]   54:     0x5608eddbba63 - <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[786f478f706679df]::pin::Pin<&mut tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:740:24
[INFO] [stdout]   55:     0x5608eddd0532 - <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CurrentThread>::block_on::<tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   56:     0x5608ed93f55a - tokio[ced60f391706bb4d]::runtime::context::runtime::enter_runtime::<<tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CurrentThread>::block_on<tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>::{closure#0}, core[786f478f706679df]::result::Result<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>, tokio[ced60f391706bb4d]::runtime::task::error::JoinError>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   57:     0x5608edd8ec08 - <tokio[ced60f391706bb4d]::runtime::scheduler::current_thread::CurrentThread>::block_on::<tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   58:     0x5608ed909481 - <tokio[ced60f391706bb4d]::runtime::runtime::Runtime>::block_on_inner::<tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   59:     0x5608ed9109fc - <tokio[ced60f391706bb4d]::runtime::runtime::Runtime>::block_on::<tokio[ced60f391706bb4d]::runtime::task::join::JoinHandle<core[786f478f706679df]::result::Result<(), testresult[2e00af7b44cd1c97]::TestError>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   60:     0x5608eddc576a - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test::<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:80:27
[INFO] [stdout]   61:     0x5608edd63697 - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:10:5
[INFO] [stdout]   62:     0x5608edd2ece7 - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:25:15
[INFO] [stdout]   63:     0x5608ed867da6 - <tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x5608ee06cfab - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   65:     0x5608ee06cfab - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   66:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   67:     0x5608ee07999b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   68:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   69:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   70:     0x5608ee07999b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   71:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   72:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   73:     0x5608ee0750b4 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   74:     0x5608ee0750b4 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   75:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   76:     0x5608ee07c5a2 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   77:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   78:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   79:     0x5608ee07c5a2 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   80:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   81:     0x5608ee07c5a2 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   82:     0x5608ef23aa0f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   83:     0x5608ef23aa0f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   84:     0x7bbe4bfceaa4 - <unknown>
[INFO] [stdout]   85:     0x7bbe4c05ba64 - clone
[INFO] [stdout]   86:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] thread 'test::t_comprehensive::comprehensive' (185) panicked at src/test/t_wrapper.rs:83:20:
[INFO] [stdout] test aborted/paniced: JoinError::Panic(Id(1), "error: anyhow::Error - run: No such file or directory (os error 2)", ...) task 1 panicked with message "error: anyhow::Error - run: No such file or directory (os error 2)"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5608ef23bb8a - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5608ef23bb8a - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5608ef2582ba - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5608ef2582ba - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5608ef242e42 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5608ef242e42 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5608ef215ebf - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5608ef215ebf - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5608ef231ea9 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5608ee078ecc - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5608ee078ecc - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5608ef232122 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5608ef232122 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5608ef215f78 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5608ef20cfe9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5608ef216ffd - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5608ef258b2c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5608eddc58ea - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test::<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:83:20
[INFO] [stdout]   20:     0x5608edd63697 - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:10:5
[INFO] [stdout]   21:     0x5608edd2ece7 - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:25:15
[INFO] [stdout]   22:     0x5608ed867da6 - <tag2upload_service_manager[320f0ef935e4c1c2]::test::t_comprehensive::comprehensive::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5608ee06cfab - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5608ee06cfab - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5608ee07999b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5608ee07999b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5608ee0750b4 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5608ee0750b4 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5608ee07c5a2 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5608ee07c5a2 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5608ee07c5a2 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5608ef23aa0f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x5608ef23aa0f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x7bbe4bfceaa4 - <unknown>
[INFO] [stdout]   44:     0x7bbe4c05ba64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::t_jcoalesce::pause_fetch_irrecoverable stdout ----
[INFO] [stdout] test tag2upload_service_manager::test::t_jcoalesce::pause_fetch_irrecoverable: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout] 2026-03-30T07:26:56.067815Z DEBUG pause_fetch_irrecoverable: tag2upload_service_manager::global: starting config=Config { t2u: T2u { distro: "debian", forges: [Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], secret_token_file: None, max_concurrent_fetch: 3 }] }, intervals: Intervals { max_tag_age: HtDuration(259200s), max_tag_age_skew: HtDuration(1000s), expire: HtDuration(2764800s), expire_every: HtDuration(18000s), show_recent: HtDuration(86400s) }, timeouts: Timeouts { http_request: HtDuration(100s), git_query: HtDuration(100s), git_clone: HtDuration(500s), send_email: HtDuration(40s), unpause_poll: HtDuration(10s), disconnected_worker_expire: HtDuration(100s), socket_stat_interval: None, db_timeout: HtDuration(10s), db_retries: 100 }, limits: Limits { o2m_line: 16384 }, files: Files { db: "/tmp/.tmpA4yaAU/t2usm.db", o2m_socket: "/tmp/.tmpA4yaAU/o2m", scratch_dir: Some("/tmp/.tmpA4yaAU/scratch"), archive_dir: "/tmp/.tmpA4yaAU/archive", template_dir: None, port_report_file: Some("/tmp/.tmpA4yaAU/port"), self_git_dir: None }, email: Email { sendmail_program: "/opt/rustwide/workdir/btest/sendmail-mock", from_addr: EmailAddress { inner: EmailAddress { name: None, email: "from@example.org" }, string: "<from@example.org>" }, reply_to_addr: EmailAddress { inner: EmailAddress { name: None, email: "reply-to@example.org" }, string: "<reply-to@example.org>" }, copies_addr: EmailAddress { inner: EmailAddress { name: None, email: "copies@example.org" }, string: "<copies@example.org>" } }, vhosts: Vhosts { webhook: ["webhook.tag2upload.debian.org"], ui: ["tag2upload.debian.org"] }, log: Log { level: None, tracing: "", dir: None, schedule: Config({LevelFilter::INFO: LevelConfig { interval: Day, max_files: 28 }, LevelFilter::DEBUG: LevelConfig { interval: Hour, max_files: 72 }}) }, testing: Testing { exit_hup_pgrp: true, time_offset: -49142038, fake_https_dir: None, allowed_source_packages: None }, retry: Retry { min_retries: 15, min_salient_retries: 10, timeout_initial: HtDuration(100s), timeout_increase: 1.2, timeout_mintotal: HtDuration(43200s) }, gitlab: Gitlab { poll_max_queue: 50, rate_limit: HtDuration(3s), webhook_hope_delay: HtDuration(500s), lag_ok: HtDuration(1000s), poll_repo_until: HtDuration(4000s), poll_repo_count: 3 }, .. } cli_options=CliOptions { config: [], config_toml: [], op: RunManager } computed_config=ComputedConfig { unified_webhook_acl: [Addr(127.0.0.1/32)], bsql_timeout: Timeout { per_attempt: 100ms, retries: 100 }, gitlab_poll_repo_interval: 2000, forges: [PreparedForge { config: Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], secret_token_file: None, max_concurrent_fetch: 3 }, kind: Kind, host_global: Any { .. } }] }
[INFO] [stdout] 2026-03-30T07:26:56.361770Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="duplicate-of.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.364670Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="forge-summary.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.366884Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="forge-gitlab.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.397765Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="archived-note.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.398248Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="recent-note.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.398637Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="navbar.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.398962Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="footer.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.404923Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="jobtable.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.417316Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="recent.html"
[INFO] [stdout] 2026-03-30T07:26:56.424301Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="forges.html"
[INFO] [stdout] 2026-03-30T07:26:56.433615Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="queue.html"
[INFO] [stdout] 2026-03-30T07:26:56.433988Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="job.html"
[INFO] [stdout] 2026-03-30T07:26:56.454762Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="error.html"
[INFO] [stdout] 2026-03-30T07:26:56.455405Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="toplevel.html"
[INFO] [stdout] 2026-03-30T07:26:56.469351Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="all-jobs.html"
[INFO] [stdout] 2026-03-30T07:26:56.469783Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="email-body.txt"
[INFO] [stdout] 2026-03-30T07:26:56.485977Z DEBUG pause_fetch_irrecoverable: tag2upload_service_manager::o2m_listener: listening path="/tmp/.tmpA4yaAU/o2m"
[INFO] [stdout] 2026-03-30T07:26:56.486016Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task expiry
[INFO] [stdout] 2026-03-30T07:26:56.486049Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task unpause
[INFO] [stdout] 2026-03-30T07:26:56.486073Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task email
[INFO] [stdout] 2026-03-30T07:26:56.513550Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task rocket launcher
[INFO] [stdout] 2026-03-30T07:26:56.535743Z DEBUG pause_fetch_irrecoverable: tag2upload_service_manager::utils: schema setup| initialising schema in empty database
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET processing = ?
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?,
[INFO] [stdout]                        info = ?  || info || ? 
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713578)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("service manager restarted while Building; may have been uploaded (was: "))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(")"))))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]         DELETE FROM gitlab_poll_hosts
[INFO] [stdout]               WHERE scanned_upto < ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Text("2024-09-04T12:52:58.000000000Z")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] 2026-03-30T07:26:56.621861Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task gitlab poll "salsa.debian.org"
[INFO] [stdout] 2026-03-30T07:26:56.621941Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 0]
[INFO] [stdout] 2026-03-30T07:26:56.621970Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 1]
[INFO] [stdout] 2026-03-30T07:26:56.621991Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 2]
[INFO] [stdout] 2026-03-30T07:26:56.622011Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task o2m listener
[INFO] [stdout] 2026-03-30T07:26:56.622031Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: writing port file="/tmp/.tmpA4yaAU/port"
[INFO] [stdout] 2026-03-30T07:26:56.622158Z  INFO pause_fetch_irrecoverable: tag2upload_service_manager::global: running running=Running { port: 43659 }
[INFO] [stdout] Rocket has launched from http://127.0.0.1:43659
[INFO] [stdout] 2026-03-30T07:26:56.622700Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::test: simulated time now=2024-09-07T12:52:58.622695634Z when=startup
[INFO] [stdout] bsql text: INSERT INTO jobs (repo_git_url,tag_objectid,tag_name,forge_host,forge_namever,forge_data,source,version,received,retry_earliest,report_email,tag_data,status,last_update,processing,received_via,info,emailed,duplicate_of,retry_salient_count) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("file:///dev/enoent/dummy-repo/other-forge"))))
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("debian/irrelevant-other"))))
[INFO] [stdout]     Ok(Owned(Text("other-job-forge-host")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("{ \"project_id\": 36575, \"user_id\": 193 }"))))
[INFO] [stdout]     Ok(Owned(Text("unused")))
[INFO] [stdout]     Ok(Owned(Text("0.version")))
[INFO] [stdout]     Ok(Owned(Integer(1725713578)))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("dummy tag data for other job")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713578)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("job inserted by hand in test case (other)"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     bsql_insert rowid 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "status": (Text, "Irrecoverable")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, info = ?, duplicate_of = ?
[INFO] [stdout]                  WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                    AND status IN (?,?)
[INFO] [stdout]              RETURNING jobs.jid AS updated_jid,
[INFO] [stdout]                        status,
[INFO] [stdout]                        duplicate_of
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713578)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(""))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.632966Z DEBUG pause_fetch_irrecoverable: tag2upload_service_manager::test::t_jcoalesce: inserted jid=1 what=other tag_objectid=1234567800000000000000000000000000000000 repo_git_url=file:///dev/enoent/dummy-repo/other-forge
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     UPDATE jobs
[INFO] [stdout]                        SET emailed = ?
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.636949Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::email: preparing to send email jid=1
[INFO] [stdout] 2026-03-30T07:26:56.643469Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.644082Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.644139Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.644559Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.644628Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.645058Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.645114Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.645613Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.645669Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.646037Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.646094Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.646466Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.710883Z  WARN pause_fetch_irrecoverable: tag2upload_service_manager::email: error sending email jid=1 new_es=Failed add_info="sendmail: exit status: 127: -: 9: dos2unix: not found\n"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET emailed = ?,
[INFO] [stdout]                        info = info || ? 
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("; error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.719210Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.719628Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.719689Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.720022Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.720091Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.720432Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: INSERT INTO jobs (repo_git_url,tag_objectid,tag_name,forge_host,forge_namever,forge_data,source,version,received,retry_earliest,report_email,tag_data,status,last_update,processing,received_via,info,emailed,duplicate_of,retry_salient_count) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("salsa.debian.org"))))
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("debian/irrelevant-new"))))
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("{ \"project_id\": 36575, \"user_id\": 193 }"))))
[INFO] [stdout]     Ok(Owned(Text("unused")))
[INFO] [stdout]     Ok(Owned(Text("0.version")))
[INFO] [stdout]     Ok(Owned(Integer(1725713579)))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713579)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("job inserted by hand in test case (new)"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     bsql_insert rowid 2
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "status": (Text, "Irrecoverable")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, info = ?, duplicate_of = ?
[INFO] [stdout]                  WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                    AND status IN (?,?)
[INFO] [stdout]              RETURNING jobs.jid AS updated_jid,
[INFO] [stdout]                        status,
[INFO] [stdout]                        duplicate_of
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713579)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(""))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_qeury_n_call row {"updated_jid": (Integer, 2), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] 2026-03-30T07:26:57.641273Z  INFO pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: tag already processed, deduplicating jid=2 now=Irrecoverable duplicate_of=1
[INFO] [stdout] 2026-03-30T07:26:57.641378Z DEBUG pause_fetch_irrecoverable: tag2upload_service_manager::test::t_jcoalesce: inserted jid=2 what=new tag_objectid=1234567800000000000000000000000000000000 repo_git_url=salsa.debian.org
[INFO] [stdout] 2026-03-30T07:26:57.641529Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] 2026-03-30T07:26:57.642085Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] 2026-03-30T07:26:57.642545Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] 2026-03-30T07:26:57.642959Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:57.643021Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] 2026-03-30T07:26:57.643415Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: SELECT * FROM jobs WHERE jid = ? 
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT emailed FROM jobs WHERE jid = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"emailed": (Text, "Failed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] 
[INFO] [stdout] ** test timeout! aborting! **
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::t_jcoalesce::pause_fetch_irrecoverable' (458) panicked at src/test/t_wrapper.rs:83:20:
[INFO] [stdout] test aborted/paniced: JoinError::Cancelled(Id(9)) task 9 was cancelled
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5608ef23bb8a - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5608ef23bb8a - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5608ef2582ba - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5608ef2582ba - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5608ef242e42 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5608ef242e42 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5608ef215ebf - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5608ef215ebf - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5608ef231ea9 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5608ee078ecc - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5608ee078ecc - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5608ef232122 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5608ef232122 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5608ef215f78 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5608ef20cfe9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5608ef216ffd - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5608ef258b2c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5608eddc52eb - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test::<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_jcoalesce::pause_fetch_irrecoverable::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_jcoalesce::pause_fetch_irrecoverable::{closure#1}::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:83:20
[INFO] [stdout]   20:     0x5608ede0af87 - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_jcoalesce::pause_fetch_irrecoverable
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:10:5
[INFO] [stdout]   21:     0x5608eddeb827 - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_jcoalesce::pause_fetch_irrecoverable::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:25:15
[INFO] [stdout]   22:     0x5608ed867d66 - <tag2upload_service_manager[320f0ef935e4c1c2]::test::t_jcoalesce::pause_fetch_irrecoverable::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5608ee06cfab - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5608ee06cfab - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5608ee07999b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5608ee07999b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5608ee0750b4 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5608ee0750b4 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5608ee07c5a2 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5608ee07c5a2 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5608ee07c5a2 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5608ef23aa0f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x5608ef23aa0f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x7bbe4bfceaa4 - <unknown>
[INFO] [stdout]   44:     0x7bbe4c05ba64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::t_jcoalesce::pause_fetch_failed stdout ----
[INFO] [stdout] test tag2upload_service_manager::test::t_jcoalesce::pause_fetch_failed: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout] 2026-03-30T07:26:56.070646Z DEBUG pause_fetch_failed: tag2upload_service_manager::global: starting config=Config { t2u: T2u { distro: "debian", forges: [Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], secret_token_file: None, max_concurrent_fetch: 3 }] }, intervals: Intervals { max_tag_age: HtDuration(259200s), max_tag_age_skew: HtDuration(1000s), expire: HtDuration(2764800s), expire_every: HtDuration(18000s), show_recent: HtDuration(86400s) }, timeouts: Timeouts { http_request: HtDuration(100s), git_query: HtDuration(100s), git_clone: HtDuration(500s), send_email: HtDuration(40s), unpause_poll: HtDuration(10s), disconnected_worker_expire: HtDuration(100s), socket_stat_interval: None, db_timeout: HtDuration(10s), db_retries: 100 }, limits: Limits { o2m_line: 16384 }, files: Files { db: "/tmp/.tmp1RtFzn/t2usm.db", o2m_socket: "/tmp/.tmp1RtFzn/o2m", scratch_dir: Some("/tmp/.tmp1RtFzn/scratch"), archive_dir: "/tmp/.tmp1RtFzn/archive", template_dir: None, port_report_file: Some("/tmp/.tmp1RtFzn/port"), self_git_dir: None }, email: Email { sendmail_program: "/opt/rustwide/workdir/btest/sendmail-mock", from_addr: EmailAddress { inner: EmailAddress { name: None, email: "from@example.org" }, string: "<from@example.org>" }, reply_to_addr: EmailAddress { inner: EmailAddress { name: None, email: "reply-to@example.org" }, string: "<reply-to@example.org>" }, copies_addr: EmailAddress { inner: EmailAddress { name: None, email: "copies@example.org" }, string: "<copies@example.org>" } }, vhosts: Vhosts { webhook: ["webhook.tag2upload.debian.org"], ui: ["tag2upload.debian.org"] }, log: Log { level: None, tracing: "", dir: None, schedule: Config({LevelFilter::INFO: LevelConfig { interval: Day, max_files: 28 }, LevelFilter::DEBUG: LevelConfig { interval: Hour, max_files: 72 }}) }, testing: Testing { exit_hup_pgrp: true, time_offset: -49142038, fake_https_dir: None, allowed_source_packages: None }, retry: Retry { min_retries: 15, min_salient_retries: 10, timeout_initial: HtDuration(100s), timeout_increase: 1.2, timeout_mintotal: HtDuration(43200s) }, gitlab: Gitlab { poll_max_queue: 50, rate_limit: HtDuration(3s), webhook_hope_delay: HtDuration(500s), lag_ok: HtDuration(1000s), poll_repo_until: HtDuration(4000s), poll_repo_count: 3 }, .. } cli_options=CliOptions { config: [], config_toml: [], op: RunManager } computed_config=ComputedConfig { unified_webhook_acl: [Addr(127.0.0.1/32)], bsql_timeout: Timeout { per_attempt: 100ms, retries: 100 }, gitlab_poll_repo_interval: 2000, forges: [PreparedForge { config: Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], secret_token_file: None, max_concurrent_fetch: 3 }, kind: Kind, host_global: Any { .. } }] }
[INFO] [stdout] 2026-03-30T07:26:56.419521Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="duplicate-of.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.425734Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="forge-summary.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.428466Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="forge-gitlab.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.446311Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="archived-note.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.446733Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="recent-note.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.447114Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="navbar.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.447441Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="footer.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.448267Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="jobtable.part.html"
[INFO] [stdout] 2026-03-30T07:26:56.459870Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="recent.html"
[INFO] [stdout] 2026-03-30T07:26:56.460340Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="forges.html"
[INFO] [stdout] 2026-03-30T07:26:56.466273Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="queue.html"
[INFO] [stdout] 2026-03-30T07:26:56.466663Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="job.html"
[INFO] [stdout] 2026-03-30T07:26:56.511044Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="error.html"
[INFO] [stdout] 2026-03-30T07:26:56.533868Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="toplevel.html"
[INFO] [stdout] 2026-03-30T07:26:56.562143Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="all-jobs.html"
[INFO] [stdout] 2026-03-30T07:26:56.564912Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="email-body.txt"
[INFO] [stdout] 2026-03-30T07:26:56.584125Z DEBUG pause_fetch_failed: tag2upload_service_manager::o2m_listener: listening path="/tmp/.tmp1RtFzn/o2m"
[INFO] [stdout] 2026-03-30T07:26:56.584206Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task expiry
[INFO] [stdout] 2026-03-30T07:26:56.584251Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task unpause
[INFO] [stdout] 2026-03-30T07:26:56.584277Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task email
[INFO] [stdout] 2026-03-30T07:26:56.600885Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task rocket launcher
[INFO] [stdout] 2026-03-30T07:26:56.609020Z DEBUG pause_fetch_failed: tag2upload_service_manager::utils: schema setup| initialising schema in empty database
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET processing = ?
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?,
[INFO] [stdout]                        info = ?  || info || ? 
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713578)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("service manager restarted while Building; may have been uploaded (was: "))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(")"))))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]         DELETE FROM gitlab_poll_hosts
[INFO] [stdout]               WHERE scanned_upto < ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Text("2024-09-04T12:52:58.000000000Z")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] 2026-03-30T07:26:56.641862Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task gitlab poll "salsa.debian.org"
[INFO] [stdout] 2026-03-30T07:26:56.641931Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 0]
[INFO] [stdout] 2026-03-30T07:26:56.641959Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 1]
[INFO] [stdout] 2026-03-30T07:26:56.641980Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 2]
[INFO] [stdout] 2026-03-30T07:26:56.642001Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task o2m listener
[INFO] [stdout] 2026-03-30T07:26:56.642020Z TRACE pause_fetch_failed: tag2upload_service_manager::global: writing port file="/tmp/.tmp1RtFzn/port"
[INFO] [stdout] 2026-03-30T07:26:56.642128Z  INFO pause_fetch_failed: tag2upload_service_manager::global: running running=Running { port: 37789 }
[INFO] [stdout] Rocket has launched from http://127.0.0.1:37789
[INFO] [stdout] 2026-03-30T07:26:56.642650Z TRACE pause_fetch_failed: tag2upload_service_manager::test: simulated time now=2024-09-07T12:52:58.642644814Z when=startup
[INFO] [stdout] bsql text: INSERT INTO jobs (repo_git_url,tag_objectid,tag_name,forge_host,forge_namever,forge_data,source,version,received,retry_earliest,report_email,tag_data,status,last_update,processing,received_via,info,emailed,duplicate_of,retry_salient_count) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("file:///dev/enoent/dummy-repo/other-forge"))))
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("debian/irrelevant-other"))))
[INFO] [stdout]     Ok(Owned(Text("other-job-forge-host")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("{ \"project_id\": 36575, \"user_id\": 193 }"))))
[INFO] [stdout]     Ok(Owned(Text("unused")))
[INFO] [stdout]     Ok(Owned(Text("0.version")))
[INFO] [stdout]     Ok(Owned(Integer(1725713578)))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("dummy tag data for other job")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713578)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("job inserted by hand in test case (other)"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     bsql_insert rowid 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.756747Z DEBUG pause_fetch_failed: tag2upload_service_manager::test::t_jcoalesce: inserted jid=1 what=other tag_objectid=1234567800000000000000000000000000000000 repo_git_url=file:///dev/enoent/dummy-repo/other-forge
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     UPDATE jobs
[INFO] [stdout]                        SET emailed = ?
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.774556Z TRACE pause_fetch_failed: tag2upload_service_manager::email: preparing to send email jid=1
[INFO] [stdout] 2026-03-30T07:26:56.788778Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.789424Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.789479Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.789846Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.790573Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.790948Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.790997Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.791374Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.791429Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.795906Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.795969Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.796355Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.844424Z  WARN pause_fetch_failed: tag2upload_service_manager::email: error sending email jid=1 new_es=Failed add_info="sendmail: exit status: 127: -: 9: dos2unix: not found\n"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET emailed = ?,
[INFO] [stdout]                        info = info || ? 
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("; error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.847962Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.848355Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.848420Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.848799Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:56.848867Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:56.849235Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: INSERT INTO jobs (repo_git_url,tag_objectid,tag_name,forge_host,forge_namever,forge_data,source,version,received,retry_earliest,report_email,tag_data,status,last_update,processing,received_via,info,emailed,duplicate_of,retry_salient_count) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("salsa.debian.org"))))
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("debian/irrelevant-new"))))
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("{ \"project_id\": 36575, \"user_id\": 193 }"))))
[INFO] [stdout]     Ok(Owned(Text("unused")))
[INFO] [stdout]     Ok(Owned(Text("0.version")))
[INFO] [stdout]     Ok(Owned(Integer(1725713579)))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713579)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("job inserted by hand in test case (new)"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     bsql_insert rowid 2
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (new)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.766465Z DEBUG pause_fetch_failed: tag2upload_service_manager::test::t_jcoalesce: inserted jid=2 what=new tag_objectid=1234567800000000000000000000000000000000 repo_git_url=salsa.debian.org
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (new)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.767149Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (new)")}
[INFO] [stdout] 2026-03-30T07:26:57.767479Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: retry calculation... jid=2
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (new)")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.767694Z TRACE pause_fetch_failed: tag2upload_service_manager::retry: no attempts yet, run right away
[INFO] [stdout] 2026-03-30T07:26:57.767722Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: retry calculated jid=2 retry=Attempt(AttemptInfo { is_salient: Some(IsSalient), is_final: Ok(()) })
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713579)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("fetching tag from forge"))))
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.770373Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.770813Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:57.770873Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-03-30T07:26:57.771242Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-03-30T07:26:57.774592Z  INFO pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] found (fetch) jid=2 now=Noticed info="fetching tag from forge" attempt_info=[Sr]
[INFO] [stdout] 2026-03-30T07:26:57.774763Z  WARN pause_fetch_failed: tag2upload_service_manager::gitlab: unable to obtain email address: salsa.debian.org: no secret token configured host=salsa.debian.org jid=2
[INFO] [stdout] 2026-03-30T07:26:57.774790Z TRACE pause_fetch_failed: tag2upload_service_manager::gitlab: fetching tag host=salsa.debian.org jid=2
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT emailed FROM jobs WHERE jid = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"emailed": (Text, "Failed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 
[INFO] [stdout] ** test timeout! aborting! **
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::t_jcoalesce::pause_fetch_failed' (457) panicked at src/test/t_wrapper.rs:83:20:
[INFO] [stdout] test aborted/paniced: JoinError::Cancelled(Id(7)) task 7 was cancelled
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5608ef23bb8a - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5608ef23bb8a - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5608ef23bb8a - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5608ef2582ba - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5608ef2582ba - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5608ef242e42 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5608ef242e42 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5608ef215ebf - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5608ef215ebf - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5608ef231ea9 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5608ee078ecc - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5608ee078ecc - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5608ef232122 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5608ef232122 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5608ef215f78 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5608ef20cfe9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5608ef216ffd - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5608ef258b2c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5608eddc2f4b - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_wrapper::run_async_test::<tag2upload_service_manager[320f0ef935e4c1c2]::test::t_jcoalesce::pause_fetch_failed::{closure#1}, tag2upload_service_manager[320f0ef935e4c1c2]::test::t_jcoalesce::pause_fetch_failed::{closure#1}::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:83:20
[INFO] [stdout]   20:     0x5608ede09607 - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_jcoalesce::pause_fetch_failed
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:10:5
[INFO] [stdout]   21:     0x5608edde9bf7 - tag2upload_service_manager[320f0ef935e4c1c2]::test::t_jcoalesce::pause_fetch_failed::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:25:15
[INFO] [stdout]   22:     0x5608ed867be6 - <tag2upload_service_manager[320f0ef935e4c1c2]::test::t_jcoalesce::pause_fetch_failed::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5608ee06cfab - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5608ee06cfab - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5608ee07999b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5608ee07999b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5608ee07999b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5608ee07999b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5608ee0750b4 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5608ee0750b4 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5608ee07c5a2 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5608ee07c5a2 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5608ee07c5a2 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5608ee07c5a2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5608ee07c5a2 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5608ef23aa0f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x5608ef23aa0f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x7bbe4bfceaa4 - <unknown>
[INFO] [stdout]   44:     0x7bbe4c05ba64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         UPDATE jobs
[INFO] [stdout]                            SET processing = ?
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713578), "last_update": (Integer, 1725713578), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713579), "last_update": (Integer, 1725713579), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     db_migration::db_migr_test::add_column
[INFO] [stdout]     db_migration::db_migr_test::add_table_empty
[INFO] [stdout]     db_migration::db_migr_test::add_table_nonempty
[INFO] [stdout]     db_migration::db_migr_test::add_table_partition
[INFO] [stdout]     db_migration::db_migr_test::auto
[INFO] [stdout]     test::t_comprehensive::comprehensive
[INFO] [stdout]     test::t_jcoalesce::pause_fetch_failed
[INFO] [stdout]     test::t_jcoalesce::pause_fetch_irrecoverable
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 41 passed; 8 failed; 0 ignored; 0 measured; 0 filtered out; finished in 60.20s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "44df01d3fd20023e9fee3afda34cac384af3c98a16bfdc70ee971f7cb922995b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "44df01d3fd20023e9fee3afda34cac384af3c98a16bfdc70ee971f7cb922995b", kill_on_drop: false }`
[INFO] [stdout] 44df01d3fd20023e9fee3afda34cac384af3c98a16bfdc70ee971f7cb922995b
